Re[2]: Зачем нужны иерархии реализаций?
От: Alexey Chen Чили  
Дата: 29.06.05 16:40
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Прагматический ответ:

К>Чтобы всю реализацию [класса-предка] не переписывать [в наследнике] с нуля ради какого-то тюнинга или расширения.
Не ну это я знаю.... это и есть на пальцах Хочется большого и чистого, но не слона, а такое фундаментальное обьяснение чтобы уж совсем фундаментально. Получается что наследование нужно только лишь для переиспользования кода? И если бы можно было автоматически делегировать вызовы реализуемого интерфейса в агрегат, то наследование было бы не нужно?

К>А публичность — чтобы в наследнике не переписывать с нуля интерфейсы предка.

К>[c]
К>struct IX { ... };
К>struct IY { ... };

Сразу вспоминается старый прикол про то что наследование убивает инкапсуляцию. Вот интересно в строго типизированных языках вообще можно сделать приватное наследование (реализации) с сохранением публичного интерфейса? Нда, сказанул. Это вообще на что может быть похожим?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.