Про классы (осторожно рождественский троллинг! :)
andylars 25.12.2014 11:29
/ 25.12.2014 11:32
А мне вот кажется, что все тонны книжек могут легко ошибаться (простите за дерзость).
Ну вот я и пытаюсь структурировать, в структурировании мне композиция/декомпозиция не менее важна, чем плоское сущностное/аспектное отделение.
И вижу, что тут не все так волшебно, т.к. прошлые выверты как раз об это и бились.
Какую фундаментальность дает наследование,кроме фактического ре-использования частей уже написанного кода?
Да ничего, ни технически, ни аспектно.
Отдельного экземпляра родителя(базового) класса нет?
-Нет
И статическое обращение нам об это недвусмысленно намекает.
Стало быть все обращения ^BASE:method[] ^self.method[]
это не более чем плоское процедурное
^было_метод[] ^стало_метод[]
при возможности их одновременно использовать в одном экземпляре
Родитель это просто болванка-шаблон,
по которому "обводится" новый класс.
И правильно что он называется базовый, а не родительский.
Если в процедурном стиле можно легко обойтись без этого фундаментального свойства - то не такое уж оно и фундаментальное.
Без него, вы в худшем случае получите избыточность в переписывании тех методов которые уже где-то были.
Кстати, в голом процедурном стиле этого бы даже не понадобилось.
Таким образом, наследование в классах - это скорее "базирование на классе, только как на шаблоне",
Оно дает несомненное удобство, и выразительность - но это называется синтаксический сахар :)
Вот такими безхитростными аргументами мы пришли к мысли, что наследование в классах это только синтаксический сахар, а не фундаментальное свойство.
С Рождством всех! :)