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


Ограниченная универсальность - часть 3


p>И, как последнюю деталь, напомним, что в этой схеме ограниченная универсальность становится основным свойством, а неограниченная представляется ее частным случаем. Например, QUEUE [G], теперь понимается как сокращение записи QUEUE [G-> ANY], где ANY означает класс, служащий предком для всех классов, включая классы, создаваемые разработчиком. Как следствие, теперь точно определяются операции, применимые к G: они наследуются от ANY, применимы ко всем классам, включая общецелевые компоненты, такие как clone, print и equal.

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




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



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