// codeart.ru / Статьи / В защиту наследования Форум

В защиту наследования rss подписка

Автор: Evgeny Sergeev

Из предыдущих постов могло сложиться впечатление, что я негативно настроен к наследованию классов. На самом деле это не так.

Я считаю, что наследование - это замечательный инструмент разработки объектно ориентированных программ, однако, относиться к нему стоит с подобающим уважением и осторожностью. Далее я расскажу о некоторых преимуществах наследования.

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

Наверное, многие обратили внимание, что я часто упоминаю о создании единого интерфейса для набора классов. Все дело в том, что создание хорошего интерфейса - задача действительно очень важная. Напомню, что программировать нужно в соответствии с интерфейсом, а не реализацией!

У наследования интерфейсов есть два важных достоинства:

Эх, кажется, я опять много говорю про наследование интерфейсов и мало про наследование классов.

Я считаю, что наследование конкретных классов может применяться при неглубоком наследовании, т.е. когда в цепочке наследования всего один или два уровня. Лучше когда наследование конкретных классов идет вширь, а не вглубь. Например, есть класс “стол”, от него порождаются классы “круглый стол”, “пластиковый стол” и т.д.

Но даже в приведенных случаях относиться к наследованию конкретных классов стоит с большим вниманием. Особенно при наследовании классов, полученных из сторонних библиотек, например, из библиотек фреймворка или cms.

Leave a Reply

« Некоторые ошибки проектирования Пара слов про непрерывную интеграцию и xinc »

 

купить котел | Документы для получения визы. Посольство Великобритании в Москве официальный сайт. | Краны шаровые STC - шаровой кран водяной. Шаровые краны.