Наследование Java
Наследование Java
В этом руководстве мы узнаем о наследовании Java и его типах с помощью примера.
Наследование — это одна из ключевых функций ООП, которая позволяет нам создавать новый класс из существующего класса.
Создаваемый новый класс называется подкласс. (дочерний или производный класс), а существующий класс, из которого происходит дочерний класс, известен как суперкласс. (родительский или базовый класс).
04
ключевое слово используется для выполнения наследования в Java. Например,
00
В приведенном выше примере Собака класс создается путем наследования методов и полей от класса Animal. класс.
Вот, Собака является подклассом и Animal является суперклассом.
<час>Пример 1:Наследование Java
10пре>Вывод
27В приведенном выше примере мы создали подкласс Dog. из суперкласса Животное . Обратите внимание на утверждения,
31Вот, лабрадор является объектом Dog . Однако имя и
16
являются членами группы Animal класс.Поскольку Собака наследует поле и метод от Animal , мы можем получить доступ к полю и методу, используя объект Dog .
<рисунок><час>
является отношениями
В Java наследование — это является отношение. То есть мы используем наследование только в том случае, если между двумя классами существует отношение «есть». Например,
- Автомобиль это транспортное средство
- Оранжевый является фруктом
- Хирург Доктор
- Собака является животным
Вот, Машина может наследоваться от Vehicle , Оранжевый может наследоваться от Fruit и т. д.
<час>Переопределение метода в наследовании Java
В Примере 1 , мы видим, что объект подкласса может получить доступ к методу суперкласса.
Однако, если один и тот же метод присутствует и в суперклассе, и в подклассе, что произойдет?
В этом случае метод в подклассе переопределяет метод в суперклассе. Эта концепция известна как переопределение методов в Java.
Пример 2:переопределение метода в наследовании Java
40
Вывод
58
В приведенном выше примере 29
присутствует как в суперклассе Animal и подкласс Собака .
Здесь мы создали объект лабрадор Собака .
Теперь, когда мы вызываем 35
используя объект лабрадор , метод внутри Dog называется. Это связано с тем, что метод внутри производного класса переопределяет метод внутри базового класса.
Это называется переопределением метода. Чтобы узнать больше, посетите страницу Переопределение методов Java.
Примечание :мы использовали 48
аннотация, чтобы сообщить компилятору, что мы переопределяем метод. Однако аннотация не является обязательной. Чтобы узнать больше, посетите страницу Аннотации Java.
ключевое слово super в наследовании Java
Ранее мы видели, что один и тот же метод в подклассе переопределяет метод в суперклассе.
В такой ситуации 56
ключевое слово используется для вызова метода родительского класса из метода дочернего класса.
Пример 3:ключевое слово super в наследовании
60
Вывод
72
В приведенном выше примере 67
метод присутствует как в базовом классе Animal и производный класс Dog . Обратите внимание на заявление,
89
Здесь 72
ключевое слово используется для вызова 89
метод присутствует в суперклассе.
Мы также можем использовать 99
ключевое слово для вызова конструктора суперкласса из конструктора подкласса. Чтобы узнать больше, посетите суперключевое слово Java.
защищенные участники в наследовании
В Java, если класс включает 108
поля и методы, то эти поля и методы доступны из подкласса класса.
Пример 4:защищенные элементы в наследовании
99
Вывод
107
В приведенном выше примере мы создали класс с именем Animal. Класс включает защищенное поле:name и метод:111
.
Мы унаследовали Собаку класс наследует Animal . Обратите внимание на заявление,
114
Здесь мы можем получить доступ к защищенному полю и методу суперкласса, используя лабрадор объект подкласса.
<час>Зачем использовать наследование?
- Самым важным применением наследования в Java является повторное использование кода. Код, присутствующий в родительском классе, может напрямую использоваться дочерним классом.
- Переопределение метода также называется полиморфизмом времени выполнения. Следовательно, мы можем добиться полиморфизма в Java с помощью наследования.
Типы наследования
Существует пять типов наследования.
1. Одиночное наследование
При одиночном наследовании один подкласс наследуется от одного суперкласса. Например,
<рисунок>
2. Многоуровневое наследование
При многоуровневом наследовании подкласс наследуется от суперкласса, а затем тот же подкласс выступает в качестве суперкласса для другого класса. Например,
<рисунок>
3. Иерархическое наследование
При иерархическом наследовании несколько подклассов происходят от одного суперкласса. Например,
<рисунок>
4. Множественное наследование
При множественном наследовании один подкласс наследуется от нескольких суперклассов. Например,
<рисунок>
Примечание :Java не поддерживает множественное наследование. Однако мы можем добиться множественного наследования с помощью интерфейсов. Чтобы узнать больше, посетите страницу Java реализует множественное наследование.
<час>5. Гибридное наследование
Гибридное наследование представляет собой комбинацию двух или более типов наследования. Например,
<рисунок>
Здесь мы объединили иерархическое и множественное наследование, чтобы сформировать гибридное наследование.
java