Множественное наследование - Большая Энциклопедия Нефти и Газа, статья, страница 4
Чудеса современной технологии включают в себя изобретение пивной банки, которая, будучи выброшенной, пролежит в земле вечно, и дорогого автомобиля, который при надлежащей эксплуатации заржавеет через два-три года. Законы Мерфи (еще...)

Множественное наследование

Cтраница 4


До сих пор в этой главе мы обсуждали простое наследование, когда каждый класс порождается только от одного базового класса. Однако, класс может порождаться более, чем от одного базового класса; такое порождение называется множественным наследованием. Множественное наследование означает, что производный класс наследует элементы нескольких базовых классов. Эта мощная возможность способствует интересным формам повторного использования кодов, но может вызвать и многообразные проблемы, связанные с некоторой неопределенностью.  [46]

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

48 Верхние уровни иерархической системы классов языка COOL. [48]

Это метакласс тех классов объектов, которые определены с помощью функции defstruct, а не defclass. Функция defstruct используется в Common LISP для формирования фреймов, состоящих из слотов и наполнителей, но не поддерживающих множественное наследование.  [49]

Так же, как язык CLOS представляет собой объектно-ориентированное расширение языка LISP, так и язык C создан на основе широко известного языка С и сохранил все его возможности, добавив к ним средства объектно-ориентированного программирования. Если отвлечься от того факта, что CLOS и C основаны на разных языках-прототипах, то основное отличие между ними заключается в реализации механизма наследования, в частности множественного наследования. В языке C множественное наследование трактуется совсем не так, как мы это делали в предшествующих разделах настоящей главы, а потому этот вопрос заслуживает подробного обсуждения.  [50]

До сих пор в этой главе мы обсуждали простое наследование, когда каждый класс порождается только от одного базового класса. Однако, класс может порождаться более, чем от одного базового класса; такое порождение называется множественным наследованием. Множественное наследование означает, что производный класс наследует элементы нескольких базовых классов. Эта мощная возможность способствует интересным формам повторного использования кодов, но может вызвать и многообразные проблемы, связанные с некоторой неопределенностью.  [51]

Опыт показывает, что множественное наследование надо использовать умеренно, так как оно может усложнить программный код проекта. Многие проблемы, вначале решаемые с помощью множественного наследования, теперь решаются путем агрегирования ( вложения) классов. Тем не менее множественное наследование остается мощным средством программирования, от которого не следует огульно отказываться при разработке проектов.  [52]

Так же, как язык CLOS представляет собой объектно-ориентированное расширение языка LISP, так и язык C создан на основе широко известного языка С и сохранил все его возможности, добавив к ним средства объектно-ориентированного программирования. Если отвлечься от того факта, что CLOS и C основаны на разных языках-прототипах, то основное отличие между ними заключается в реализации механизма наследования, в частности множественного наследования. В языке C множественное наследование трактуется совсем не так, как мы это делали в предшествующих разделах настоящей главы, а потому этот вопрос заслуживает подробного обсуждения.  [53]

Та простая картина, которая вырисовывается из представленного выше механизма прямого наследования, несколько усложняется, если мы попытаемся заменить прямое наследование множественным. В главе 6 уже отмечалось, что это может привести к неоднозначности в наследовании свойств. Но в контексте объектно-ориентированного подхода при множественном наследовании появляется и неоднозначность поведения.  [54]

Объектно-ориентированное программирование ( ООП) моделирует объекты реального мира с помощью программных аналогов. Это приводит к появлению отношений классов, когда объекты определенного класса - такого, как класс средств передвижения - имеют одинаковые характеристики. Это выдвигает отношения наследования и даже отношения множественного наследования, когда вновь создаваемые классы приобретают наследуемые характеристики существующих классов, а также содержат свои собственные уникальные характеристики. Объекты класса автомобилей с откидным верхом определенно имеют характеристики класса автомобилей, но крыша у них откидывается и закрывается.  [55]



Страницы:      1    2    3    4