|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Конечно пример максимально упрощен, не содержит ничего "лишнего". Не надо искать в нем какой-то конкретный практический смысл "as is". А так я могу Вам тысячу примеров привести, только зачем? Когда будет нужно, Вы сами мимо не пройдете.
Навскидку 3 примера.
1) Инструмент в рисовалке. Карандаш, кисточка, резинка - по сути действие одно, хотя результат и настройки разные. Абстрактному классу "Инструмент" передаете конкретный - карандаш, кисточка и т.д., и Инструмент заставляет его "работать" с холстом по действиям пользователя. Суть "работы" не волнует Инструмент - что именно делать, решает Карандаш или Резинка или Аэрограф.
2) Пункты в выпадающем меню. Каждый объект списка может быть как просто кнопочкой, так и другим выпадающим Меню и даже неактивным Разделителем. Но для конкретного списка все они - просто MenuItem, объекты, составляющие список, которые нужно отобразить. Как они будут реагировать на поведение пользователя - их личное дело.
3) Юниты армии Двемеров. Тяжелые лучники, кавалерия, алебардисты и бронзовые големы - все они разных классов, но должны слушаться одних и тех же "приказов".
Конечно, многие задачи позволяет решить наследование, но далеко не все.
|