Ключевая разница - множественное и многоуровневое наследование
Объектно-ориентированное программирование (ООП) - это парадигма разработки программы с использованием классов и методов. Сценарии реального мира могут быть сопоставлены с объектами. Поэтому легко создавать программные решения. Класс - это план для создания объекта. Он содержит свойства и методы. Например, перед созданием объекта student должен быть класс student со свойствами и методами. Студент может иметь такие свойства, как идентификатор студента, имя и методы, такие как чтение, запись, изучение. Методы описывают поведение, а свойства являются атрибутами. После создания класса можно создавать объекты, используя их. Создание объекта также известно как создание экземпляра объекта. Объект не существует изолированно. Они взаимодействуют с другими объектами, и данные передаются внутри объектов. Одним из столпов ООП является наследование. Цель наследования - повысить возможность повторного использования кода. Он создает новый класс свойств и методов уже существующего класса. Существующий класс называется базовым классом, а новый класс называется производным классом. Множественное наследование и многоуровневое наследование являются типами наследования. В этой статье обсуждается разница между ними. Ключевое различие между множественным и многоуровневым наследованием заключается в том, что множественное наследование - это когда класс наследуется от многих базовых классов, а многоуровневое наследование - это когда класс наследуется от производного класса, делая этот производный класс базовым классом для нового класса.
Что такое множественное наследование?
Множественное наследование - это когда класс наследует более одного базового класса.
Рисунок 01: Множественное наследование
A B и C являются классами. A и B - базовые классы, а C - производный класс. Класс C должен управлять зависимостью обоих базовых классов A и B. Множественное наследование не так широко используется в программных проектах. Это усложняет систему, потому что один класс наследует множество классов.
Например, предположим, что у классов A и B есть метод с одинаковым именем, который является sum(), а класс C является производным от обоих классов. После создания объекта типа C и вызова метода sum() может возникнуть ошибка, поскольку оба класса имеют один и тот же метод. Компилятор не знает, какую функцию вызывать. Следовательно, множественное наследование увеличивает сложность системы. Множественное наследование поддерживается в языке C++, но такие языки, как Java и C, не поддерживают множественное наследование. Вместо этого эти языки используют интерфейс, который похож на класс, но не может быть создан.
Что такое многоуровневое наследование?
Многоуровневое наследование - это когда класс наследуется от производного класса, делая этот производный класс базовым классом для нового класса.
Рисунок 02: Многоуровневое наследование
Многоуровневое наследование имеет три уровня. Промежуточный класс, который B наследует от класса A, а класс C наследует от класса B. A - базовый класс для B, а B - базовый класс для C.
Программа, реализующая многоуровневое наследование, выглядит следующим образом. Программа написана с использованием Java.
Рисунок 03: Программа, реализующая многоуровневое наследование
Согласно приведенной выше программе, класс A является базовым классом для класса B. Класс B является базовым классом для класса C. Все свойства и методы класса A доступны для класса B. Все свойства и методы класса B доступен классу C. Следовательно, класс C может обращаться к свойствам и методам как A, так и B. При создании объекта типа C возможен вызов всех трех методов A(), B() и C(). На выходе будут A, B, C.
В чем сходство между множественным и многоуровневым наследованием?
Оба типа наследования
В чем разница между множественным и многоуровневым наследованием?
Множественное наследование и многоуровневое наследование |
|
Множественное наследование - это тип наследования, при котором класс наследуется более чем от одного базового класса. | Многоуровневое наследование - это тип наследования, который наследуется от производного класса, что делает этот производный класс базовым классом для нового класса. |
Использование | |
Множественное наследование широко не используется, поскольку делает систему более сложной. | Многоуровневое наследование широко используется. |
Уровни класса | |
Множественное наследование имеет два уровня классов, а именно, базовый класс и производный класс. | Многоуровневое наследование имеет три уровня классов, а именно: базовый класс, промежуточный класс и производный класс. |
Резюме – Множественное и многоуровневое наследование
Наследование является основным столпом объектно-ориентированного программирования. Существуют различные типы наследования; это одноуровневое наследование, многоуровневое наследование, множественное наследование, иерархическое наследование и гибридное наследование. Одноуровневое наследование имеет один базовый класс и один производный класс. Иерархическое наследование имеет один базовый класс и множество производных классов. Гибридное наследование представляет собой комбинацию многоуровневого и множественного наследования. В этой статье описывается разница между множественным наследованием и многоуровневым наследованием. Разница между множественным и многоуровневым наследованием заключается в том, что множественное наследование - это когда класс наследуется от многих базовых классов, а многоуровневое наследование - это когда класс наследуется от производного класса, делая этот производный класс базовым классом для нового класса. Многоуровневое наследование используется чаще, чем множественное наследование.
Загрузить PDF-файл Множественное и многоуровневое наследование
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Пожалуйста, загрузите PDF-версию здесь. Разница между множественным и многоуровневым наследованием