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


Ключевые концепции


  • Универсальность и наследование направлены на повышение гибкости программных модулей.
  • Универсальность - статическая техника, применимая в объектном и не объектном контексте, позволяет определять модули с типами в качестве параметров.
  • Есть две формы универсальности: неограниченная, не налагающая никаких требований на параметры и ограниченная, требующая от параметра-типа поддержки определенных операций.
  • Наследование позволяет нарастающее конструирование модуля путем расширения и специализации. Наследование открывает дорогу полиморфизму и динамическому связыванию.
  • Реализовать наследование с помощью универсальности не представляется возможным.
  • Чистое наследование может использоваться для эмуляции универсальности, но за счет утяжеления выражений, потери производительности и трудностей с типами.
  • Удачным компромиссом является комбинирование всей мощи наследования и переопределения с универсальностью, по меньшей мере, в его неограниченной форме. Это достигается разрешением классам иметь родовые параметры.
  • Крайне желательно обеспечить ограниченную универсальность, которая может быть построена на основе понятия согласованности типов, следующего, в свою очередь, из наследования. Неограниченная универсальность в этом случае представляет собой частный случай, в котором универсальный класс ANY выступает в роли ограничения.
  • Результирующая конструкция получается элегантной и минимальной.



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



Книжный магазин