Руководство по actionscript. часть 1, стр. 112

Почему наследование?

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

Кроме того, наследование позволяет выражать архитектуру приложения в иерархических терминах, отражающих реальный мир и человеческую психологию. Например, в реальном мире мы считаем, что растения отличаются от животных, но в то же время и тех и других мы относим к живым существам. Мы считаем, что автомобили отличаются от самолетов, но и те и другие являются средством передвижения. Соответствующим образом в приложении для управления кадрами может существовать суперкласс Employee с подклассами Manager, CEO и Worker. В банковском приложении можно создать суперкласс BankAccount с подклассами CheckingAccount и SavingsAccount. Все эти канонические примеры демонстрируют одну из разновидностей наследования, иногда называемую наследованием подтипов, когда иерархия классов приложения моделирует ситуацию в реальном мире (называемую доменом или проблемной областью).

Несмотря на то что примеры классов Employee и BankAccount демонстрируют привлекательные возможности наследования, далеко не каждое наследование отражает реальный мир. На самом деле чрезмерный акцент на моделировании реального мира может привести к неправильному пониманию наследования и, как следствие, к его неправильному использованию. Например, в случае с классом Person мы могли бы поддаться искушению и создать подклассы Female и Male. В реальном мире данные категории являются логичными, но если бы эти классы использовались, скажем, в приложении для генерации отчетов в учебном заведении, нам пришлось бы создать классы MaleStudent и Female Student только для того, чтобы сохранить иерархию реального мира. В нашей программе операции,

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 023
  • 12.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.116
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.77
  • 26.08.2010">Классификация сайтов для дизайнера.
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 064
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 096
  • 28.08.2011">Объявления по интернету — удобно и современно
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.164
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.5
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 143
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 042
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 056
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.21
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.67
  • 07.01.2010">Кинетическая типографика
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...