Показать сообщение отдельно
Старый 08.11.2015, 14:33
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 33  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Или ты не согласен с тем, что это просто логично, что сначала создается объект стоящий в цепочке наледования раньше?
Да, я не согласен с тем, что это логично, в моем понимании концепций ооп и наследования в частности.
Как я это понимаю (имхо). Нету никакой иерархии в наследнике. Он унаследовал от своего предка (или своих предков, их может быть сколько угодно, а если тут подумать о множественном наследовании?) его свойства и методы. Это теперь свойства и методы наследника, ни кота папы или мамы, его собственные, равноправные, находящиеся на одном уровне. И у наследника может быть свой порядок инициализации, т.е. отличный от его предков. Ему не надо сначала инициировать какую-то основу в нем, он не составлен из модулей, стоящих один на другом, он одно целое. Если метод инициализации подразумевает вызов какой-то унаследованной "основы", ну так это решать исключительно наследнику, исходя из своих надобностей.

Ты приводил пример с домом как основой и навешиванием на него всяких прибамбасов. И то, что не построив дома, к нему не прилипить сигнализацию. Я же говорю о расширении (дополнении и переопределении) концепции "дом". К примеру дом->детский сад. А не дом->дом с окном и дверью. В первом случае мы же не стоим дом, которые затем превращаем в дет.сад, нет, мы сразу строим дет.сад. А вот втором да, чтобы навесить на дом ручку и бантик, нам нужно его построить, и это в моем понимании композиция.


Последний раз редактировалось udaaff; 08.11.2015 в 14:46.