Однокорневая иерархия - Singly rooted hierarchy

В однокоренная иерархия, в объектно-ориентированного программирования, является характеристикой большинства (но не всех) ООП -основан языки программирования. Фактически, в большинстве таких языков все классы наследовать прямо или косвенно из одного корня, обычно с именем, похожим на Object; тогда все классы образуют общую иерархию наследования.

Эта идея была впервые представлена Болтовня, и с тех пор использовался в большинстве других объектно-ориентированных языков (особенно Ява и C # ).

Заметным исключением является C ++, где (в основном для совместимости с C и эффективности) нет единой иерархии объектов. Эта функция особенно полезна для контейнерных библиотек - им нужно только разрешить размещение объекта в контейнере, чтобы разрешить размещение объектов любого класса в контейнере. Контейнеры в C ++ были реализованы с множественное наследование,[1] и с помощью шаблон -основан общее программирование к Бьярне Страуструп.[2][3] Другие объектно-ориентированные языки без однокорневой иерархии включают Цель-C и PHP.

Смотрите также

Рекомендации

  1. ^ Брюс Экель, «Мышление на C ++», т. 2, гл. 9 «Множественное наследование»: раздел «Перспектива»
  2. ^ Справочник программиста MFC: мышление на языке C В архиве 2007-11-13 на Wayback Machine
  3. ^ Брюс Экель, «Мышление на C ++», т. 1, гл. 16 «Введение в шаблоны»: раздел «Шаблонное решение»