parser


 

 
   команды управления поиском

Про классы (осторожно рождественский троллинг! :)

andylars 25.12.2014 11:29 / 25.12.2014 11:32

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

Ну вот я и пытаюсь структурировать, в структурировании мне композиция/декомпозиция не менее важна, чем плоское сущностное/аспектное отделение.

И вижу, что тут не все так волшебно, т.к. прошлые выверты как раз об это и бились.

Какую фундаментальность дает наследование,кроме фактического ре-использования частей уже написанного кода?

Да ничего, ни технически, ни аспектно.

Отдельного экземпляра родителя(базового) класса нет?
-Нет
И статическое обращение нам об это недвусмысленно намекает.
Стало быть все обращения ^BASE:method[] ^self.method[]

это не более чем плоское процедурное
^было_метод[] ^стало_метод[]
при возможности их одновременно использовать в одном экземпляре

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

Если в процедурном стиле можно легко обойтись без этого фундаментального свойства - то не такое уж оно и фундаментальное.

Без него, вы в худшем случае получите избыточность в переписывании тех методов которые уже где-то были.
Кстати, в голом процедурном стиле этого бы даже не понадобилось.

Таким образом, наследование в классах - это скорее "базирование на классе, только как на шаблоне",
Оно дает несомненное удобство, и выразительность - но это называется синтаксический сахар :)

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

С Рождством всех! :)