powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
62 сообщений из 62, показаны все 3 страниц
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39954686
BlackFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
класс A входит в класс B, можно ли получить из класса А доступ к __property свойствам класса В

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class A
{
};

class B
{
private:
	A* С;
public:
	__property int Value = { read = GetValue, write = SetValue };
};


то есть из свойства С получить доступ к Value?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39954688
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, но это плохой дизайн. Лучше пересмотри сою иерархию классов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39954694
BlackFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь случай когда, например, класс B люди, а класс А машины.
Как из методов машины узнать человека?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39954698
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackFox,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
class Person;

class Car
{
public:
    Car(Person *p): person(p) {}
    Person *person;
};

class Person
{
public:
    Person(): car() {}
    Car *car;
};
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39954703
BlackFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955157
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackFox,

поймите правильно - Вам лучше почитать азы про ОО автора Гради Буч, одного из основателей нотации юмл и т.д. и т.п..

По вопросу..
Наследование - это когда есть требование от жизни в выделении нечто общего среди каких либо сущностей. Ну а теперь ответьте мне - что общего между машиной и человеком из жизни (т.е. дадом, тьху в жизни вы увидели)? тот транзистор который стоит в электронном сердце человека и усилителя НЧ из радиолы пионер? Вы серьёзно? Это требуется по входным условиям? Или Вам это приснилось или показалось?


по поводу механизации (т.е. это идёт после декомпозиции и нахождения сущностей в поставленной задаче) - оперировании данными или глаголами от наследника в базовом классе... Лучше всего на примере:
- класс А это животное
- класс В - это собака
- класс С - это кошка
у класса А есть глагол(метод) - голос. ну или например запрос свойства - длины усов. тогда всё логично и стройно - мы у сущности А не знаем на момент определения как оно будет голосить (или вообще будет ли голос?) - делаем чисто виртуально (тем самым мы говорим - у животного должно быть вот реализация этой хрени). Или делаем реализацию по умолчанию - например для всех животных надо чтоб мычало, но как виртуальным методом...
а по поводу длины усов - мы не знаем, они вообще существуют у жевотного или нет, а не то что длину усов. окейно - делаем приватный метод - запрос у чайлда длину усов и делаем это виртуальным методом. у кошки перекрываем эти два метода - голос, мяукаем, а длина усов - возвращаем локальное свойство длина усов . Для собаки аналогично - лаем и длина усов - ну нет у неё...возвращаем нуль..

я надеюсь описал почему Ваш вопрос содержит не только вопрос про не знание механизации частного языка си плас плас, но и не понимание начального этапа в программировании - декомпозиции и нахождения сущностей (повторюсь и это очень важно ) - из жизни !!!

(круглый)
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955187
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
BlackFox,

поймите правильно - Вам лучше почитать азы про ОО автора Гради Буч, одного из основателей нотации юмл и т.д. и т.п..

По вопросу..
Наследование - это когда есть требование от жизни в выделении нечто общего среди каких либо сущностей. Ну а теперь ответьте мне - что общего между машиной и человеком из жизни (т.е. дадом, тьху в жизни вы увидели)?
(круглый)

Так тут и нет наследования. Тут даже инкапсуляции нет. Тут есть две связи между объектами: владение и принадлежность. Не вижу криминала. Не понятно только что машина будет сообщать человеку через вызовов методов человека? Ну... может сообщить о превышении скорости.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955193
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё машина может сообщать человеку:

- О попытке угона.
- О необходимости тех. обслуживания.
- О низком уровне топлива.
- О наличии ментовских радаров.
- О том что водитель заснул за рулём. Разбудить. Метод Человек::wakeUp().
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955512
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

меня смутило слово входит . и дальнейшее про машину и человека.
т.е. человек знает о машине. и машина (судя по конструктору) не может существовать без человека. типо завод куда заходит человек и под него делают машину. т.е. машины без человека не может быть. ну и машины не может быть более одного человека. самому человеку запрещено иметь более одной машины.
не жизненно правда, но понятно...

дальнейшее предложение вызывать человека из машины - это веселее...
ну типо тахометр изменил значение, кхм... и должен показать человеку что дескать у меня 1000 оборотов. или всё же он тупо это имеет как свойство и пофигу кто(или что - ну например кенгуру или видеокамера) смотрит на тахометр и смотрит ли вообще? из жизни мы знаем что машина будет показывать обороты даже не двигаясь (вывесили на подъёмнике и через одб2 газуем с компьютера - проводим диагностику) - при этом как видно что машина это делает без человека и человек этот (хозяин возможно) сидит пьёт кофе пока его машину диагностируют...


попытка угона - это есть совокупность факторов для машины - качнули или заводят двигатель без ключа(может это не угон а эвакуатор делает - терминология определяется ещё кучей внешних факторов. для машины это вообще левое).
необходимость обслуживания (то же самое - есть признаки. мозги машины могут об этом знать или тупо по паспорту это проблема водятла - заехать на ТО через 20 тыкм).
низкий уровень топлива - уже выше было.
наличие ментовских радаров - обычно это навесное оборудование, которому так же пофигу есть ли водитель. скорее всего оно активизируется по включению питания.
заснул...конкретный человек который передали в конструктор..другой индивидум(про мартышку опустим - возможно мы распознаём только людей на камеру) не может. кхм... человек подъём...тут вот я сомневаюсь...подать звук, ударить шокером(это чёрный юмор) - да... а вот по разъёму машина-человек подать сигнал открыть веки - то биомеханика уже..пока рановато в нынешних реалях...имхо..больше думаю вероятность что у человека бируши и он нифига не может проснуться и не слышит(условно)...
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955525
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
поймите правильно - Вам лучше почитать азы про ОО автора Гради Буч, одного из основателей нотации юмл и т.д. и т.п..

читал " Буч Гради - Объектно-Ориентированный Анализ и Проектирование"
очень тяжёлая нудятина на 600 страниц.
гораздо лучше заходит " Голуб Ален - верёвка достаточной длины, чтобы выстрелить себе в ногу "
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955577
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
...нудятина на 600 страниц....


автор нудятины - автор единственной технологии (превращение от хотелок бизнеса в код)..
всё остальное - попытки создать пародии на тему ах как классно можно сделать на коленке и попроще...

ну вот программисты которые не читали и не делали по этой нудятины стэп бай стэп и пишут на яве какаве или там на си плас плас по ассемблерному...и таких 99% в программерских конторах...

да да знакомо!!

(круглый)
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955579
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
полудух
...нудятина на 600 страниц....


автор нудятины - автор единственной технологии (превращение от хотелок бизнеса в код)..
всё остальное - попытки создать пародии на тему ах как классно можно сделать на коленке и попроще...

Я эту книгу от Гради Буча прочитал на пятом курсе. Но ведь UML умер много лет назад, по результатам. Потому что был кривой. И есть кривой.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955587
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
полудух
...нудятина на 600 страниц....


автор нудятины - автор единственной технологии (превращение от хотелок бизнеса в код)..
всё остальное - попытки создать пародии на тему ах как классно можно сделать на коленке и попроще...

ну вот программисты которые не читали и не делали по этой нудятины стэп бай стэп и пишут на яве какаве или там на си плас плас по ассемблерному...и таких 99% в программерских конторах...

да да знакомо!!

(круглый)

слушай, полно источников качественного ООП-кода, которые гораздо проще и быстрее понять.
можно даже у Страуструпа набрать рабочих примеров иерархии классов (про которые и Грэди пишет)
просто изучая C++ уже понимаешь, как должно ООП выглядеть
причём именно изучая C++ ты понимаешь, как оно на самом деле должно выглядеть
т.е. в остальных языках ООП слегка/сильно извращён, а вот тут всё чётко, понятно и по делу.
и никакие ассемблерные вставки (шта?) при этом не лезут в голову (от них как раз все отговаривают)
А вот читать 600 страниц одну и ту же муть про машины фаршированные персонами вместо того чтобы на паре-тройке примеров понять тему - вот это дичь.
Первопроходец != офигенный. Обычно это означает "куча ляпов, которые потом годами отлавиливают и исправляют".

зы: пример из ПХП про интерфейсы, который описывает "duck typing":
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
# ОТЛИЧНЫЙ ПРИМЕР, ДЛЯ ЧЕГО НУЖНЫ ИНТЕРФЕЙСЫ:
# An example of duck typing in PHP
interface CanFly
{
    public function fly();
}

interface CanSwim
{
    public function swim();
}

class Bird
{
    public function info()
    {
        echo "I am a {$this->name}\n";
        echo "I am an bird\n";
    }
}

## some implementations of birds
class Dove extends Bird implements CanFly
{
    var $name = "Dove";
    public function fly()
        {echo "I fly\n";}
}

class Penguin extends Bird implements CanSwim
{
    var $name = "Penguin";
    public function swim()
        {echo "I swim\n";}
}

class Duck extends Bird implements CanFly, CanSwim
{
    var $name = "Duck";
    public function fly()
        {echo "I fly\n";}

    public function swim()
        {echo "I swim\n";}
}

## a simple function to describe a bird
function describe($bird)
{
    if (!$bird instanceof Bird)
        {die("This is not a bird. I cannot describe it.");}

    $bird->info();
    if ($bird instanceof CanFly)
        {$bird->fly();}
    if ($bird instanceof CanSwim)
        {$bird->swim();}
}

// describe these birds please
describe(new Penguin);
echo "---\n";

describe(new Dove);
echo "---\n";

describe(new Duck);

...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955700
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

у меня есть положительный опыт работы и привода конторы в сотню самых крутых софтверных фирм на планете земля. есть опыт работы во многих конторах на разных уровнях. и я делаю выводы исключительно из опыта.
я бы не хотел уходить в некий спор в вакууме, но я готов чисто технически привести тут плюсы и минусы применения ОО технологии в программировании. а дальше вы сами решите - много ли вы видели таких контор, где применяют эту технологию.

(круглый)
ЗЫ
язык вторичен. для меня удобнее си плас плас, хотя в активе более десятка языков.
ЗЫ ЗЫ
посыл про ассемблер от меня, насколько понял из Вашего поста, Вы не поняли. я не говорил про ассемблерные операторы, я говорил о применении объектно ориентированных языках по ассемблерному - именно так 99% и юзают и яву-какаву и си плас плас и си бимоль и т.п. языки (без первичных шагов = анализа и проектирования). и выше в разборе объявлений классов от ТС мы видим что предлагаемое взаимодействие не жизненно, не из жизни то бишь. и если завтра заказчик придёт и скажет - а человек может иметь более одной машины, то автор этого кода будет рассуждать какая фигня эта технология ОО, не понимая что не технология виновата и а попытка поверхностно почитать про ОО, обозвать всё тягомотиной и на не верных наблюдений сделать не правильные выводы.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955702
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

UML это попытка записать результат ОО анализа и проектирования (ООА и ООП которые абривиатуры. заметьте П - это ПРОЕКТИРОВАНИЕ а не программирование). Их несколько таких нотаций (UML языка в смысле). возможно что то удачно, что то не удачно. Но это ни в коей мере не умоляет сам подход ОО при разработки софта. Данный подход он идёт от жизни, статичен (т.е. правильные найденные сущности не изменны), позволяет просчитывать инвариантность будущих потребностей заказчика, позволяет сократить код, способствует уменьшению дублежа кода.
я честно говоря не видел подобных технологий обладающих такими существенными скилами при производстве софта.

(круглый)
ЗЫ
Вы можете слышать другие мнения про ОО технологию, но как правило - это идёт от непонимания её, а не от опыта многолетнего применения. А то что Вы используете тот или иной язык позволяющий идти в кильватере ОО технологии - это абсолютно не значит, что Вы понимаете или используете ОО технологию. Более того, без понимания данной технологии использование таких языков - заводит в тупик обычно (таких ситуаций на форумах полно = типо как узнать яйцу форму лотка в котором он лежит).
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955707
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
petrav,

Более того, без понимания данной технологии использование таких языков - заводит в тупик обычно (таких ситуаций на форумах полно = типо как узнать яйцу форму лотка в котором он лежит).

А человеку можно узнать в каком окружении он живёт? А машине можно узнать в каком окружении она движется?

Я вот чего не понял. Ваш виртуальный метод "Животное::Голос()" Вы признали хорошим примером ООП.

А мой пример метода "Человек::Проснись()" Вы признали плохим примером ООП сославшись на биомеханику, не может машина вызвать метод человека. А давно у собак есть разъём и поддержка вызова виртуальных функций -- биомеханика позволяет?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955760
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
я бы не хотел уходить в некий спор в вакууме, но я готов чисто технически привести тут плюсы и минусы применения ОО технологии в программировании. а дальше вы сами решите - много ли вы видели таких контор, где применяют эту технологию.

А зачем? Я что, протестую против пользы ООП? Я говорю, чтобы качественно делать ООП не обязательно читать Грэди Буча.
посыл про ассемблер от меня, насколько понял из Вашего поста, Вы не поняли. я не говорил про ассемблерные операторы, я говорил о применении объектно ориентированных языках по ассемблерному - именно так 99% и юзают и яву-какаву и си плас плас и си бимоль и т.п. языки (без первичных шагов = анализа и проектирования).
Я так понимаю, Страуструп так же относится к этим 99% и ООП юзать НЕ умеет?
Потому что всё что он написал прочитало чуть менее, чем 100% си-плюс-плюсников.
И уж треть точно делает так, как там написано...
Да и другие тоже книжки... Грэди Буч не пишет ничего такого нового про ООП.
Всё тоже самое написано и в других книгах, только менее нудно и более сухо (меньше воды = хорошо).
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955874
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

животное - это общее между собакой и кошкой. Вы действительно это не поняли-услышали?
наверное я плохо объяснил - простите...

(круглый)
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955877
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,

страуструп - это программирование+математика. именно такой вектор изложен в книге.
кнут - то больше математика+программирование. там ещё более жёстко для понимания.

для страуструпа - бизнес задачей было создание прикладной библиотеки. с чем он замечательно справился. и для понимания духа стл - лучше книги нет. но учить по страуструпу ОО технологию - это всё равно что по физике твёрдого тела учить схемотехнику.

буча не то что читать нужно. прочитав надо сделать хотя бы один проект как там написано стэп-бай-стэп. иначе будет как Вы сказали нудятиной и много воды. это совсем не понятно когда человек разрабатывает в одну голову - задачи типо хэйлохтымир. и 200% необходимо когда собираются пилить проект более одного разработчика.

удачи вам
(круглый)
ЗЫ
заткнулся.
думаю, что мысль основную уже высказал.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955882
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
petrav,

животное - это общее между собакой и кошкой. Вы действительно это не поняли-услышали?
наверное я плохо объяснил - простите...

(круглый)

С такими иерархиями аля Животные, ГеометрическиеФигуры и т.д... я знаком уже лет 20-ть.

Давайте я свой вопрос переформулирую. У нас есть две сущности, которые могут принимать самостоятельные решения и оказывать друг на друга влияние: Человек и Автомобиль. Скажите, почему они в нашей ООП модели не могут друг с другом взаимодействовать через программные интерфейсы? В обоих направлениях.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955883
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

взаимодействовать могут. только тут такая заковыка...
или Вы придерживаетесь от жизни
или Вы с большой долей вероятности потом переделывать будете
примеры я описывал выше. ну например..автомобиль что на тахометре показывает только человеку цифры? Вы серьёзно? а камеру поставить нельзя да? а кошку посадить чтоб смотрела? или она не увидит? Вывод какой? то что автомобилю похрену кому показывать - это и есть свойство а не глагол, как мне показалось в Вашей мысли.

вот такая вот разница.
(круглый)
ЗЫ
Про передачу в конструктор автомобиля одного человека - то вообще круглый конь в квадратном вакууме.
ЗЫ ЗЫ
Ну или по другому... Человек знает и воздействует на автомобиль - взял, завёл, рулит, врезался, заглушил, отремонтировал, выключил, снял АКБ, разобрал на запчасти... Попробуйте список таких-же глаголов в другую сторону
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955889
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
petrav,

примеры я описывал выше. ну например..автомобиль что на тахометре показывает только человеку цифры? Вы серьёзно? а камеру поставить нельзя да? а кошку посадить чтоб смотрела? или она не увидит? Вывод какой? то что автомобилю похрену кому показывать - это и есть свойство а не глагол, как мне показалось в Вашей мысли.

Глаголом было "Разбудить" и "ПослатьСообщение" — прямое воздействие от Авто на Человека. Тахометр тут ни причём. Кошек, которые смотрят на тахометр и ведут автомобиль, тоже рассматривать не будем.

kolobok0
Про передачу в конструктор автомобиля одного человека - то вообще круглый конь в квадратном вакууме.

Тут просто пример очень простой, но топик-стартеру больше и не нужно. Я считаю мой код корректным с точки зрения ООП. А так я тут мог бы разойтись на классы РеестрСобственности, абстрактный интерфейс IВодитель или может РольВодитель. Но зачем?

kolobok0
Ну или по другому... Человек знает и воздействует на автомобиль - взял, завёл, рулит, врезался, заглушил, отремонтировал, выключил, снял АКБ, разобрал на запчасти... Попробуйте список таких-же глаголов в другую сторону

А почему список глаголов в другую сторону должен быть таким же?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955899
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простите. напишу последний раз. а то как то я о мягком Вы о тёплом, кмк...

petrav
..
Глаголом было "Разбудить" и "ПослатьСообщение" — прямое воздействие от Авто на Человека. Тахометр тут ни причём. Кошек, которые смотрят на тахометр и ведут автомобиль, тоже рассматривать не будем.

....считаю мой код корректным с точки зрения ООП....

...А почему список глаголов в другую сторону должен быть таким же?


"разбудить" и "послать сообщение" как бы подразумевают синхронность. если заменить (на мой взгляд - более корректные) на "выдать звук" и "зажечь табло" - то вот тогда вопросов не было. Даже мартышка бы (или видеокамера) это воспримет. Т.е. это от жизни. Мы можем конечно же как пример разобрать управление локомотивом, где учитывается обратная связь. Но увы - там нет интерфейса разбудить. там есть таймер и кнопка подтверждения от человека, которую он должен нажимать периодически. не нажал - заснул. заметьте - я стараюсь рассуждать от жизни . А в Ваших словах звучит "тут мог бы разойтись на классы" - понимаете в чём Ваша ошибка? Вы могли бы... у Вас нет критерия достаточности и правильности нахождения сущностей Вы опираетесь только на "мог бы разойтись.... но зачем". А я на жизнь или потребность от жизни - как будет угодно. Соответственно завтра для меня заказчик ничего не изменит в плане пересмотра модели. А для Вас будет переделка классов. вот собственно только и всего.

список глаголов в другую сторону - тем самым я подчеркнул, что взаимодействие данных сущностей не одинаково . Т.е. человек знает о машине, а вот машина не всегда знает о человеке. Скажу большее - она может знать о параметрах на своих сенсорах и конечном списке глаголов заложенных в конструкцию. Например ждать нажатия кнопки А, или там детектировать на картинке кадра закрытие глаз, или там принять от радарной системы фар препятствие на обочине и направить пучёк лазера-излучения фары в данную точку(у бмв такое). Но это абсолютно не значит, что машина может разобрать на запчасти человека.

более правильная модель - не содержать ссылку из машины на человека (т.к. она не может воздействовать на него явно, а может воздействовать теми сигналами, которые видны и человеку так-же) т.е. у машины нет знаний о человеке, а вот человеку реагировать на события от машины - это более правильная колбаса.

как то так
(круглый)
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39955918
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
простите. напишу последний раз. а то как то я о мягком Вы о тёплом, кмк...

Давайте и я в последний раз отвечу. :)

kolobok0
"разбудить" и "послать сообщение" как бы подразумевают синхронность. если заменить (на мой взгляд - более корректные) на "выдать звук" и "зажечь табло" - то вот тогда вопросов не было. Даже мартышка бы (или видеокамера) это воспримет. Т.е. это от жизни.

Да, это более корректно. Вот такой вариант: человек уснул и он в берушах, машина подаёт сигнал, но человек не слышит. Т.е. машина не может воздействовать на человека. Другой пример: человек нажимает кнопку "Включить кондиционер", а кнопка сломана и человек тоже не может воздействовать на машину. Т.е. сущности вообще не взаимодействуют. И по вашему выходит, что ООП вообще не работает. Т.е. это от жизни.

kolobok0
А в Ваших словах звучит "тут мог бы разойтись на классы" - понимаете в чём Ваша ошибка? Вы могли бы... у Вас нет критерия достаточности и правильности нахождения сущностей Вы опираетесь только на "мог бы разойтись.... но зачем". А я на жизнь или потребность от жизни - как будет угодно. Соответственно завтра для меня заказчик ничего не изменит в плане пересмотра модели. А для Вас будет переделка классов. вот собственно только и всего.

Спорное и самонадеянное утверждение. :)

kolobok0
список глаголов в другую сторону - тем самым я подчеркнул, что взаимодействие данных сущностей не одинаково . Т.е. человек знает о машине, а вот машина не всегда знает о человеке.

Как же машина не знает о человеке если видит движение его зрачков? И знает номер его сотового? Взаимодействие не должно быть одинаковым!

kolobok0
Но это абсолютно не значит, что машина может разобрать на запчасти человека.

Т.е. что бы Сущность1 могла через программный интерфейс воздействовать на Сущность2 — необходимо что бы Сущность1 всё знала о Сущность2 и могла бы последнюю разобрать на части? Это уже вообще противоречит принципам ООП.

kolobok0
более правильная модель - не содержать ссылку из машины на человека (т.к. она не может воздействовать на него явно, а может воздействовать теми сигналами, которые видны и человеку так-же)

А вот вы можете разобрать современный БМВ на части, залезть в бортовой компьютер, начать там баги править? Вы точно так же подаёте сигналы современной машине, которые она вообще может проигнорировать. Вы давите на газ, а ей плевать, она по тормозам потому что на радаре препятсвие. Вы не можете явно воздействовать на машину.

kolobok0
т.е. у машины нет знаний о человеке, а вот человеку реагировать на события от машины - это более правильная колбаса.

В принципах ООП как раз и заложено, что лишние знания об устройстве других сущностей вредны. Знаний быть должно по минимуму.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956344
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav и kolobok0,

А вам не кажется что вы путаете наследование и взаимодействие классов?

Автомобиль влияет на водителя посредством стрелочек и лампочек на приборной панели. А водитель влияет на автомобиль дергая специальные рукоятки и педали. И все. Это типичное взаимодействие двух классов.
Оба класса предоставляют наружу асинхронные входы. Автомобиль может моргать лампочкой и может быть водитель это увидит. Водитель может жать педаль и может быть эта педаль действительно что-то сделает. Даже если взять умный автомобиль отслеживающий открытые ли глаза у водителя - это все равно взаимодействие классов.

Но это никак не наследование. А ТС хотел именно наследования. И вы начали спорить кто кому принадлежит.
Вот из комбинации автомобиль плюс водитель можно отнаследовать класс "такси". Хотите наследования с авто-тематикой, рассуждайте об автобусах и грузовиках.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956359
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
petrav и kolobok0,

А вам не кажется что вы путаете наследование и взаимодействие классов?

Это просто kolobok0 по началу невнимательно прочёл топик и начал рассуждать о наследовании. Я его поправил и мы давно уже говорим о взаимодействии классов.

White Owl
Автомобиль влияет на водителя посредством стрелочек и лампочек на приборной панели. А водитель влияет на автомобиль дергая специальные рукоятки и педали. И все. Это типичное взаимодействие двух классов.
Оба класса предоставляют наружу асинхронные входы. Автомобиль может моргать лампочкой и может быть водитель это увидит. Водитель может жать педаль и может быть эта педаль действительно что-то сделает. Даже если взять умный автомобиль отслеживающий открытые ли глаза у водителя - это все равно взаимодействие классов.

Я согласен, но kolobok0 считает, что объект Автомобиль не может явно воздействовать на объект Человек. Поэтому взаимодействие классов тут только одностороннее: Человек --> Автомобиль + Человек как наблюдатель за Автомобилем.

Я считаю что в ООП-модели вполне корректно рассматривать воздействие автомобиля на человека. Но kolobok0 не согласен, потому что автомобиль не может разобрать человека на запчасти.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956395
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторое время назад я находился под впечатлением акторной модели разработки.
Сюда же до кучи такие фреймфорки как Akka/Kafka/Storm и язык Erlang и его подход
к разработке. Ну и микро-ядро Таннебаума. И мне кажется что я начал понимать старика Кея.
Объекты - суть клетки обменивающиеся сигналами. Или сообщениями. Такая модель очень
жива и естественна. Она напоминает сеть в миниатюре. Тоесть каждый объект - суть хост
в концепции IP-protocol. И вся сеть не страдает или не болеет от падения или от отказа
в обслуживании одного объекта-хоста. Она - продолжает работать. Такая степень ослабления
взаимодействия позволяет писать и отлаживать не программный комплекс а отдельные
микро-объекты которые существуют вполне себе сами. И могут быть под отладчиком.
Или под профайлером независимо от перформанса всей системы. Эти-же объекты
могут обновить свою версию в онлайне (Erlang) или продублироваться для перформанса
в пулы (Akka/Kafka) и процессить больше сообщений.

Несколько лет назад я пилил свой географический анализатор сетевых атак. Основная
идея была в том чтобы визульна на географической карте или на квадрате IP-v4 адресов
представить угрозу как некий прямоугольник. Далее админ безопасности в режиме диалога
или команд конфигурирует iptables в соотвествии с обобщенными свойствами адресов.

К сожалению ничего из этого проекта я толком не реализовал. Главная причина - растущая
сложность этого графического приложения. Оно стало монстром. Оно втягивало слишком
много функционала хотя его задача была - только в интеракции с логом событий. Или
с ендпоинтом сообщений. Типа AMQP. И сегодня я принял решение выкинуть нахер старое
приложение и переписать его на принципах взаимодействия сообщений в рамках
локального хоста или IPC.

К чему это я все. Мне не помогало ООП. Оно играло важную роль. Но его было недостаточно
чтобы разбить этот монолит на еще более тонкие части (модули или микросервисы да похер
как называть. Неважно). Важно что я смогу собрать своё внимание только на небольшой
части функционала.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956406
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял.

mayton

И сегодня я принял решение выкинуть нахер старое приложение и переписать его на принципах взаимодействия сообщений в рамках локального хоста или IPC.

К чему это я все. Мне не помогало ООП. Оно играло важную роль. Но его было недостаточно чтобы разбить этот монолит на еще более тонкие части (модули или микросервисы да похер как называть. Неважно).

Я думаю если ООП тут не помогло, так и разбитие на микросервисы не поможет.

mayton
Важно что я смогу собрать своё внимание только на небольшой части функционала.

В смысле? А в парадигме ООП вы не могли собрать своё внимание на небольшой части функционала? Ну так сейчас вам придётся озадачится межпроцессным взаимодействием этих кирпичиков из мира ООП. Будет ещё сложнее.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956410
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

mayton
Важно что я смогу собрать своё внимание только на небольшой части функционала.

В смысле? А в парадигме ООП вы не могли собрать своё внимание на небольшой части функционала? Ну так сейчас вам придётся озадачится межпроцессным взаимодействием этих кирпичиков из мира ООП. Будет ещё сложнее.

Не знаю. ООП последних 30 лет ... особенно в части С++ слишком циклиться на технических
вопросах. Например как похитрее запрятать приватное поле что.... (!) получить к нему доступ
снова (!!) через какой-то гребаный указатель. Простите. Сколько лет я в энтерпрайзе - я не могу
найти бизнес-кейса для этого случая.

Это скорее комплексность искусствено превнесённая. Я-бы сказал ... издержки языка.
Тоесть ООП С++ ного вида слишком сильно концентрируется на синтетических задачах
которые само порождает.

Здесь я вспоминаю слова классика о том что основной читатель программ - это все
таки человек и адресованна программа человеку. И лишь в некоторых случаях - транслятор.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956412
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Не знаю. ООП последних 30 лет ... особенно в части С++ слишком циклиться на технических
вопросах. Например как похитрее запрятать приватное поле что.... (!) получить к нему доступ
снова (!!) через какой-то гребаный указатель. Простите. Сколько лет я в энтерпрайзе - я не могу
найти бизнес-кейса для этого случая.

Это скорее комплексность искусствено превнесённая. Я-бы сказал ... издержки языка.
Тоесть ООП С++ ного вида слишком сильно концентрируется на синтетических задачах
которые само порождает.

Не очень понимаю о чём вы? Можно пример?

Я к тому, что если задачу не удалось разбить на маленькие модули в рамках ООП... Так сделать такое разбиение в рамках N взаимодействующих процессов -- будет ещё сложнее.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956415
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне недостаточно было бить на модули. Я хотел отвязаться от обратной связи. У меня один из модулей
был генератором событий. Событие типа "атака с сетевого адреса xxx.xxx.xxx.xxx". А другой модуль
просто читал стрим этих событий и визуализировал их.

Тоесть модуль визуализации не должен был иметь возможности видеть API модуля генерации.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956424
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Мне недостаточно было бить на модули. Я хотел отвязаться от обратной связи. У меня один из модулей
был генератором событий. Событие типа "атака с сетевого адреса xxx.xxx.xxx.xxx". А другой модуль
просто читал стрим этих событий и визуализировал их.

Тоесть модуль визуализации не должен был иметь возможности видеть API модуля генерации.

Не вижу проблем реализовать это хоть в однопоточном, хоть в многопоточном приложении в рамках ООП. Придётся подумать. Но всё будет тоже самое что и при приложении разбитом на процессы. Но в таком случае придётся заморачиваться взаимодействием процессов.

Т.е. раньше объекты сидели в одной клетке, а теперь разбежались по нескольким. Но ООП то тоже самое, только теперь нужно наладить коммуникацию между клетками.

А что у вас там были вопросы, что закрытый член прячут глубже-глубже, а на выходе указатель. Можно пример?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956440
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Она напоминает сеть в миниатюре. Тоесть каждый объект - суть хост
в концепции IP-protocol. И вся сеть не страдает или не болеет от падения или от отказа
в обслуживании одного объекта-хоста. Она - продолжает работать. Такая степень ослабления
взаимодействия позволяет писать и отлаживать не программный комплекс а отдельные
микро-объекты которые существуют вполне себе сами. И могут быть под отладчиком.
Или под профайлером независимо от перформанса всей системы.
О-хо-хо-нюшки ...
Опять смешались в кучу кони, люди.
Началось всё тавтологией: I(nernet)P(rotocol)-protocol.
Продолжилось фактической ошибкой: прикладные протоколы IP-стека, в основном, моделируют взаимодействие точка-точка. И если вам требуется обеспечить кластеризацию и вот это всё из безотказности, то вы будете городить репликцию сеансов и прочие распределённые траназкции в своём приложении. Или вообще без поддержки IP или с минимальной опорой на IGMP/мультикаст.
Ну и маршрутиризация тоже меняется - сегодня уже вполне реально таскать просто Ethernet-пакеты, на которые навешаны (стекированные) метки (MPLS) и IP-маршрутиризация будет сугубо вспомогательной.Несколько лет назад я пилил свой географический анализатор сетевых атак. Основная идея была в том чтобы визульна на географической карте или на квадрате IP-v4 адресов представить угрозу как некий прямоугольник.А это - вообще пять.
Много вам поможет файервол на оконечном устройстве, если ваш канал будет под зафлужен под завязку?
Откуда вообще появилась идея, что визуализация "сетевой атаки" кому-то поможет???Далее админ безопасности в режиме диалога или команд конфигурирует iptables в соотвествии с обобщенными свойствами адресов.Дэна Брауна перечитали?К чему это я все. Мне не помогало ООП."Остап старался, но отсутствие способностей сказывалось" (ц)
То, что вы классный программист с хорошим опытом, не делает вас универсалом, решающим любую техническую проблему, которую можно решить программными средствами. Вашей квалификации за пределами вашей же эпсилон-окрестности может быть сугубо недостаточно.
Вы много проработали в телекомах, с разными инструментами, чтобы понять их недостатки и предложить (лучшую) альтернативу?
Нет? Вы просто художник и вы так видите?
Мораль "Суди, дружок, не выше сапога" - помните? Ну так не уподобляйтесь тому сапожнику.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956447
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего да. Люди делятся на художников и не-художников.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956467
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Скорее всего да. Люди делятся на художников и не-художников.

Но, согласитесь, красивая цитата:
Basil A. Sidorov
mayton
К чему это я все. Мне не помогало ООП.
"Остап старался, но отсутствие способностей сказывалось" (ц)

12-ть стульев и т.д. Ну, да...

Мне кажется Вам в Вашем изначальном приложении нужно пересмотреть свои подходы.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956472
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно. Извините что я вторгся в ваш топик.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956605
mayton
Несколько лет назад я пилил свой географический анализатор сетевых атак. Основная
идея была в том чтобы визульна на географической карте или на квадрате IP-v4 адресов
представить угрозу как некий прямоугольник. Далее админ безопасности в режиме диалога
или команд конфигурирует iptables в соотвествии с обобщенными свойствами адресов.

странный подход к противодействию сетевым атакам
география и iptables не скрещиваются
вырубать весь регион, откуда атака пришла? тоже такое себе противодействие...
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956613
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Я согласен, но kolobok0 считает, что объект Автомобиль не может явно воздействовать на объект Человек. Поэтому взаимодействие классов тут только одностороннее: Человек --> Автомобиль + Человек как наблюдатель за Автомобилем.
Правильно считает - не может автомобиль воздействовать на человека. В связке автомобиль-человек оба объекта могут только посылать сообщения друг-другу и надеяться что они будут поняты и выполнены правильно.

petrav
Я считаю что в ООП-модели вполне корректно рассматривать воздействие автомобиля на человека. Но kolobok0 не согласен, потому что автомобиль не может разобрать человека на запчасти.
Вообще-то может, не должен, но физически может. В авариях чего только не случается...
Но это уже случай "исключения" и смерти объекта "автомобиль" - которая опосредовнно влияет на объект "человек", с разным результатом. Помрет человек, выживет или вылетит через лобовое стекло - это решает не автомобиль а более общая "среда" (пристегнут или нет, какая скорость была в момент, с чем столкнулись и тп). Но сам объект автомобиль на это уже не влияет никак.

Но все равно, в паре автомобиль-человек (а точнее "водитель public человек") все общение между классами идет на уровне сигналов и очередей.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956614
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
К чему это я все. Мне не помогало ООП. Оно играло важную роль. Но его было недостаточно
чтобы разбить этот монолит на еще более тонкие части (модули или микросервисы да похер
как называть. Неважно). Важно что я смогу собрать своё внимание только на небольшой
части функционала.
На самом деле, это больше вопрос вкуса и вдохновения.
Любую задачу можно решить на любой парадигме, разница только в сложности решения. Ну и привычек пишущего.
Не все задачи удобны для ОО. Собственно говоря, единственное что на мой взгляд чрезвычайно удобно писать в ООП- это UI. Все остальное - м-э-э-э.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956760
а как же RAII
и любые объекты, где выполняется какая-то автоматическая работа при создании/уничтожении
и объекты, которые делают какую-то одинаковую работу
поле довольно большое для ОО-деятельности...
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
mayton
Несколько лет назад я пилил свой географический анализатор сетевых атак. Основная
идея была в том чтобы визульна на географической карте или на квадрате IP-v4 адресов
представить угрозу как некий прямоугольник. Далее админ безопасности в режиме диалога
или команд конфигурирует iptables в соотвествии с обобщенными свойствами адресов.

странный подход к противодействию сетевым атакам
география и iptables не скрещиваются
вырубать весь регион, откуда атака пришла? тоже такое себе противодействие...

Когда в вопросе участвует страна и политика - тогда имеет смысл рассмотреть и такую
стратегию. Более того. Убежден что государства имеют у себя такой "рубильник".
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956777
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
mayton
К чему это я все. Мне не помогало ООП. Оно играло важную роль. Но его было недостаточно
чтобы разбить этот монолит на еще более тонкие части (модули или микросервисы да похер
как называть. Неважно). Важно что я смогу собрать своё внимание только на небольшой
части функционала.
На самом деле, это больше вопрос вкуса и вдохновения.
Любую задачу можно решить на любой парадигме, разница только в сложности решения. Ну и привычек пишущего.
Не все задачи удобны для ОО. Собственно говоря, единственное что на мой взгляд чрезвычайно удобно писать в ООП- это UI. Все остальное - м-э-э-э.

Обычно бизнесовый объект может иметь от 1 до 1000 полей. И работать с ними в среде разработки
удобнее делая typewriting with autocompetition. Тоесть вы как-бы в контексте этого объекта. Это
пожалуй неоспоримое преимущество объекта. И еще делая скидку на то что у него есть скрытые
поля и прочее.

И еще до кучи. Была библиотека. Кажется Dozer. Ее весь смысл сводился к конфигурациям конвертеров
объектов. Тоесть к примеру вам надо интегрировать какой-то Soap-сервис от одного бизнеса с Rest-сервисом
другого. По сути - переливать сущности из одного места в другое. Стабы сделаны. Интерфейсы готовы
и осталось на 80% рутины - сделать просто маппинги. И поскипть или каким-то магическим образом
проскочить эту часть работы - невозможно. Можно конечно думать об отказе от ООП или о решении
задачи на другом уровне. Но маппинги чьорт из подери никуда не денутся. Какой-то кодер должен
сесть. Взять спецификации и это сделать.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956811
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Когда в вопросе участвует страна и политика - тогда имеет смысл рассмотреть и такую стратегию.
Более того. Убежден что государства имеют у себя такой "рубильник".
Это как?
Подрыв пиропатронов на тирванских магистралях???
Или обстрел коммуникаций гаубицами крупного калибра???
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956869
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mayton
Когда в вопросе участвует страна и политика - тогда имеет смысл рассмотреть и такую стратегию.
Более того. Убежден что государства имеют у себя такой "рубильник".
Это как?
Подрыв пиропатронов на тирванских магистралях???
Или обстрел коммуникаций гаубицами крупного калибра???

(пожимая плечами)

Да какая разница. Ухудшилась политическая обстановка с Гондурасом.
Гондурас DDOS-ить гос-сайты вашей страны.

P.S. Разумеется я понятия не имею как устроен магистральный файрвол. Я даже не
знаю как он работает и на каких протоколах. Я просто размышлял об идее.
И если эта идея выльется не в такую амбициозную задачу как бан государства
а просто в админ тул - и то хорошо.

Я даже думаю что этот софт есть и написан. Но когда-ж это нас останавливало....
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956929
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
P.S. Разумеется я понятия не имею как устроен магистральный файрвол.
Никак он не устроен.
Есть куча автономных систем со своими линками до других автономных систем, есть Tier I провайдеры, которые "держат" магистральные каналы. Это, конечно, крайне профански, но ваши представления - ещё хуже.
И, да, есть Китай, правительство которого реализовало, таки, "великий китайский файервол". Но у Китая, пока, исключительная ситуация.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956969
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
petrav
Я согласен, но kolobok0 считает, что объект Автомобиль не может явно воздействовать на объект Человек. Поэтому взаимодействие классов тут только одностороннее: Человек --> Автомобиль + Человек как наблюдатель за Автомобилем.
Правильно считает - не может автомобиль воздействовать на человека. В связке автомобиль-человек оба объекта могут только посылать сообщения друг-другу и надеяться что они будут поняты и выполнены правильно.

Что ж тут правильного? Колобоко считает, что взаимодействие авто-человек не симметрично: человек может воздействовать, а машина только лампочки зажигать. Вы и я считаем, что взаимодействие симметрично.

Но вы делаете замечание: не воздействие, а только отправка сообщений в надежде... Ну хорошо. Хотя софистикой отдаёт.

White Owl
petrav
Я считаю что в ООП-модели вполне корректно рассматривать воздействие автомобиля на человека. Но kolobok0 не согласен, потому что автомобиль не может разобрать человека на запчасти.
Вообще-то может, не должен, но физически может. В авариях чего только не случается...

А человек может разобрать машину. А автомобиль может убить человека. Т.е. взаимное явное воздействие всё же есть?

White Owl
Но это уже случай "исключения" и смерти объекта "автомобиль" - которая опосредовнно влияет на объект "человек", с разным результатом. Помрет человек, выживет или вылетит через лобовое стекло - это решает не автомобиль а более общая "среда" (пристегнут или нет, какая скорость была в момент, с чем столкнулись и тп). Но сам объект автомобиль на это уже не влияет никак.

Почему автомобиль не влияет? Влияет, хоть и не всегда успешно. Автомобиль может:

- Отказаться ехать пока водитель и пассажиры не пристёгнуты.
- Самостоятельно начать тормозить перед препятствием.
- Выпустить подушки безопасности.
- Не допустить перевод машины в занос.

White Owl
Но все равно, в паре автомобиль-человек (а точнее "водитель public человек") все общение между классами идет на уровне сигналов и очередей.

Хорошо. Заменим воздействие на посылку сигнала/сообщения. Так даже лучше будет.

Итого. Взаимодействие человека и авто симметрично (одинаковый механизм), почти всегда неявно, осуществляется отправкой сигналов-сообщений асинхронно и без гарантированного результата. Не учитывая аварий и разборки автомобиля.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956983
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

Итого. Взаимодействие человека и авто симметрично (одинаковый механизм), почти всегда неявно, осуществляется отправкой сигналов-сообщений асинхронно и без гарантированного результата. Не учитывая аварий и разборки автомобиля.

Вспомнил мультфильм Левша по Лескову.
Там есть забавный фрагмент когда козак Платов садиться в сани
и хлещет нагайкой кучера а кучер в свою очередь хлещет тройку.

Вот с точки зрения теории управления кто здесь управляющий и кто управляемый.

А сам козак Платов управляет?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39956986
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Я даже думаю что этот софт есть и написан. Но когда-ж это нас останавливало....

А вы хотите на этом денег заработать?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957006
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton

Я даже думаю что этот софт есть и написан. Но когда-ж это нас останавливало....

А вы хотите на этом денег заработать?

Уже не хочу. Я на другом зарабатываю. А инфо-графика - это хобби.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957009
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

А вы хотите на этом денег заработать?

Уже не хочу. Я на другом зарабатываю. А инфо-графика - это хобби.

Тогда может покажите скриншоты предыдущего прототипа?
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957011
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Не покажу. Стыдно мне это еще показывать. Хочу довести до ума. Да и не в этом дело.
Я просто одну разработку привел как частный случай того что ООП - недостаточно.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957026
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravКолобоко считает, что взаимодействие авто-человек не симметрично: человек может
оздействовать, а машина только лампочки зажигать. Вы и я считаем, что взаимодействие
симметрично.

"Зажигание лампочек" это установка значений свойств своего класса.
"Воздействие" это вызов методов другого класса.

В приведённой модели код класса "автомобиль" вызывает методы класса "человек"? Читает его
свойства? Если оба ответа "нет", то назачем вообще в этом классе эта ссылка?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957039
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravКолобоко считает, что взаимодействие авто-человек не симметрично: человек может
оздействовать, а машина только лампочки зажигать. Вы и я считаем, что взаимодействие
симметрично.

"Зажигание лампочек" это установка значений свойств своего класса.
"Воздействие" это вызов методов другого класса.

В приведённой модели код класса "автомобиль" вызывает методы класса "человек"? Читает его
свойства? Если оба ответа "нет", то назачем вообще в этом классе эта ссылка?

Читает. Смотрит что глаза открыты. Вызывает. Посылает сообщения об угоне. Я там ещё примеры приводил.

И тут дело вот в чём. ООП-модель и не должна максимально корректно описывать реальный мир. Она должна быть достаточно простой, но достаточной, что бы качественно реализовать ТЗ (с определённым заделом на будущее) и быть удобной в программировании. Идеальное соответствие реальному миру приведёт к оверинжинирингу и провалу проекта.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957049
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

И тут дело вот в чём. ООП-модель и не должна максимально корректно описывать реальный мир. Она должна быть достаточно простой, но достаточной, что бы качественно реализовать ТЗ (с определённым заделом на будущее) и быть удобной в программировании. Идеальное соответствие реальному миру приведёт к оверинжинирингу и провалу проекта.

Я добавлю что есть огромное количество учебного материала по ООП который
писали ... не очень умные люди. Особенно в части наследования. Что там пишут?
"Собака наследует свойства волка..." Это-же полный звездец. Биологическая классификация
может насчитывать сотни узлов родственных связей между видами.

Мы что будем 100 раз наследовать волка?? Если даже речь пошла о биологии - то
надо было брать вообще не ООП а онтологии и семантик-сети.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957053
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravООП-модель и не должна максимально корректно описывать реальный мир.

А кому вообще в голову может такой бред прийти? Любая структура в программе способна
соответствовать в лучшем случае мат.модели на которой эта программа построена.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957060
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravООП-модель и не должна максимально корректно описывать реальный мир.

А кому вообще в голову может такой бред прийти? Любая структура в программе способна
соответствовать в лучшем случае мат.модели на которой эта программа построена.

Так с этого и начались мои споры с Колобоко. Он напирал на то, что все его примеры из жизни. И считает, что автомобиль — это что-то пассивное (типа отвёртки). И поэтому автомобиль не должен содержать ссылки на человека. И постоянно повторял: т.е. это от жизни.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957067
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Dimitry Sibiryakov

пропущено...

А кому вообще в голову может такой бред прийти? Любая структура в программе способна
соответствовать в лучшем случае мат.модели на которой эта программа построена.

Так с этого и начались мои споры с Колобоко. Он напирал на то, что все его примеры из жизни. И считает, что автомобиль — это что-то пассивное (типа отвёртки). И поэтому автомобиль не должен содержать ссылки на человека. И постоянно повторял: т.е. это от жизни.

В 90х когда я учился в универе на курсе инженерной графики у меня даже спор возник с преподом.
Как правильно. Геометрическая фигура должна иметь метод draw(GraphicContext ctx) или
графический контекст должен иметь метод draw(Figure abstractFigure) для рисования ее.
Если честно я и сегодня не знаю ответа на вопрос. Скорее всего мало исходных
данных чтобы проектировать подобную систему. И надо понимать где прикладной код
и где системный.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957070
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Так с этого и начались мои споры с Колобоко. Он напирал на то, что все его примеры из жизни. И считает, что автомобиль — это что-то пассивное (типа отвёртки). И поэтому автомобиль не должен содержать ссылки на человека. И постоянно повторял: т.е. это от жизни.

В 90х когда я учился в универе на курсе инженерной графики у меня даже спор возник с преподом.
Как правильно. Геометрическая фигура должна иметь метод draw(GraphicContext ctx) или
графический контекст должен иметь метод draw(Figure abstractFigure) для рисования ее.
Если честно я и сегодня не знаю ответа на вопрос. Скорее всего мало исходных
данных чтобы проектировать подобную систему. И надо понимать где прикладной код
и где системный.

Так тут "draw(Figure abstractFigure)" будет вынужден вызвать "draw(GraphicContext ctx)". :)
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957072
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не применительно к Windows. Это может быть Borland C++ BGI e.t.c. Я уж не помню.

Тоесть API вашей графики это не окошковый API. Это просто грёбаный набор функций
которые что-то делают с SVGA-адаптером.

Вот такие вот стартовые условия. И дальше - фантазируйте. Наполняйте смыслом контекст и фигуру.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957076
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли честно я и сегодня не знаю ответа на вопрос.

А это реально вопрос? Любой код должен располагаться в месте, где для его выполнения есть
максимальное количество необходимых данных. То есть количество "this->" (невидимых) в коде
должно многократно превосходить количество "что-то-ещё->".

Первый вариант обычно гораздо лучше расширяем, поскольку не требует от контекста
знакомства со всех палитрой отрисовываемых примитивов. Второй сгодится в случае если
фигура состоит исключительно из множества известных контексту примитивов. То бишь если
контекст умеет рисовать исключительно треугольники, то с кругом во втором варианте будет
геморрой, зато любые mesh-и прокатят на ура и наоборот, в первом варианте меши будут
проблемой, но новая фигура опишется легко.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957196
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В клетке все настройки находятся в ДНК, а каждый белок выполняет свою уникальную функцию.
Это идеальная модель, когда все настройки в одном месте, а функции делают каждая свою одну задачу и всё.
Сама клетка представляет собой некий универсальный класс, который может стать чем угодно - клеткой кожи, клеткой глаза/мышцы/волоса, клеткой мозга.
По сути, это механизм наследования... "нулевая" клетка берёт настройки какой-то конкретной клетки и использует их.
Вот только в клетках все настройки привязаны к конкретной клетке. В каждой клетке своя ДНК. Ни с кем извне не связанная. И всё описание наследуемой клетки находится в этой ДНК.
Если рассматривать клетку, как объект (чем она и является), то у неё все варианты наследования лежат в ДНК, а она просто выбирает нужный.
ДНК при этом не связана ни с кем извне. Т.е. клетка как бы полностью автономна, как бы у каждой клетки свои собственные настройки...
НО! Если вдруг ДНК будет отличаться от других клеток, эту клетку уничтожат (разберут на запчасти).
Сверх-разум, в триллионы раз превосходящий наши самые смелые представления об ИИ, выбрал именно такую модель, как самую эффективную.
...
Рейтинг: 0 / 0
класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
    #39957234
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идеализм - он такой идеализм ...
У эволюций нет ни разума ни цели: естественный отбор просто ставит нижнюю планку и выживают все, кто окажется хоть чуточку выше.
...
Рейтинг: 0 / 0
62 сообщений из 62, показаны все 3 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / класс A входит в класс B, можно ли получить из класса А получить доступ к свойствам В
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]