LINUX.ORG.RU

Ответ на: комментарий от anonymous

Ну есть же ещё scheme-way с методами, жёстко вбитыми в замыкания.

anonymous
()
Ответ на: комментарий от anonymous

...а в результате код класса оказывается размазанным по всему проекту. Лепота!

Да, повторное использование кода называется. Например в руби существует понятие mixin - это такой модуль, несущий в себе *определенный* функционал (часто какой-нибудь сложный функционал, например DataMapper). Т.о. код моего класса может быть размазан даже не по моему проекту. Или ты предлагаешь прямо в классе все это написать) Ctrl+C, Ctrl+V) Как повторно код-то использовать?) лол.

special-k ★★★
()
Ответ на: комментарий от quasimoto

В pickaxe много сказано на тему того, где уместно, а где неуместно, и в общем случае, пихать наследование куда попало - не рекомендуется.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Речь о том как в С++ подобном ООП дописать классу метод (то есть с доступом к приватным полям, агрегация тут не поможет) который не объявлен внутри класса, и без правки уже существующего кода (code reuse). Нужно унаследовать класс и дописать метод. Это обеспечивает сохранение инвариантов исходного класса, правильность наследуемого класса - уже другой вопрос.

quasimoto ★★★★
()
Последнее исправление: quasimoto (всего исправлений: 1)
Ответ на: комментарий от quasimoto

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

special-k ★★★
()
Ответ на: комментарий от ugoday

метопрограммирование для богов, обычным смертным вполне хватит рафинированой System omega из хацкеля.

x4DA ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.