Основы объектно-ориентированного проектирования


Резюме


Хотя оно и не вводит новых концепций, следующее правило удобно как итог обсуждения критериев, высказывающихся за и против наследования.

Выбор между клиентом и наследованием

При решении, как выразить зависимость между классами B и A, применяйте следующие критерии:

  • CI1 Если каждый экземпляр B изначально имеет компонент типа A, но этот компонент в период выполнения может нуждаться в замене объектом другого типа, сделайте B клиентом A.
  • CI2 Если необходимо, чтобы сущности типа A обозначали объекты типа B или в полиморфных структурах, содержащих объекты типа A, некоторые могли быть типа B, сделайте B наследником A.



Начало  Назад  Вперед