Обзор наследования в Java

В отличие от других языков программирования, таких как C, Java предлагает механизм, с помощью которого члены данных и методы одного класса наследуются другим классом. Этот процесс известен как наследование в Java. Для наследования от класса используется ключевое слово extends. Наследование в Java позволяет повторно использовать код, так что классу нужно только написать уникальные функции, а остальная часть кода может быть расширена из другого класса. Класс, который наследуется от другого класса, известен как подкласс или дочерний класс, а наследуемый класс известен как родительский класс или суперкласс. Синтаксис, типы и реализация наследования будут обсуждаться в следующих разделах.

Типы наследования в Java

Наследование означает отношения IS-A, которые иначе называются отношениями родитель-ребенок. Родитель и ребенок уже упомянуты во вводной части.

Прежде чем перейти к типам Наследования в java, сначала давайте рассмотрим синтаксис Наследования.

Синтаксис:

class apple extends fruit
(
//methods and fields
)

Здесь яблоко - это подкласс, а фрукты - родительский класс. Это означает, что у яблока есть определенные уникальные свойства, а также у фруктов.

В Java существует 4 различных типа наследования.

  • Одиночное наследование
  • Многоуровневое наследование
  • Иерархическое наследование
  • Множественное наследование (с помощью интерфейсов)

Теперь давайте рассмотрим каждый из них в деталях.

1. Одиночное наследование

Класс, который расширяет только один класс. В следующем примере класс apple расширяет класс фруктов.

т.е. Fruit - это суперкласс, а Apple - это подкласс, который расширяет свойства и поведение класса Fruit.

Ниже приведена демонстрация одиночного наследования в Java.

Код:

//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)

Выход:

2. Многоуровневое наследование

В этом типе наследования класс будет расширен от другого класса, а производный класс будет действовать как базовый класс для некоторого другого класса.

Например, на рисунке класс четырехколесных транспортных средств является родительским классом, а автомобиль - производным классом четырехколесных транспортных средств. В то же время, автомобиль класса может быть базовым классом для класса Maruti.

Код:

//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)

Выход:

3. Иерархическое наследование

В иерархическом наследовании базовый класс имеет более одного дочернего класса, что означает, что свойства класса приобретаются разными классами.

Например, у автомобиля класса есть подклассы: автомобили, велосипеды, мотороллеры.

Код:

//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)

Выход:

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

Множественное наследование в Java - это тип наследования, в котором класс имеет более одного родительского класса.

Например, класс C приобретает свойства как класса A, так и класса B.

Но в Java множественное наследование может быть достигнуто только с помощью интерфейсов.

Предположим, что множественное наследование реализовано подобно другим типам наследования, ошибка времени компиляции может произойти следующим образом.

Код:

//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)

Здесь вывод не будет отображаться, так как содержит ошибку времени компиляции.

Важность наследования в Java

  • Повторное использование кода: Наследование помогает сократить переписывание кода. т.е. код может быть повторно использован другими классами, и дочерний класс должен только написать свои собственные уникальные свойства. Это уменьшает потребление времени и сложность кода.
  • Для переопределения метода: метод, который уже присутствует в родительском классе, объявляется дочерним классом, тогда он называется переопределением метода.
Примечание. Предположим, что если класс не следует использовать повторно, можно использовать ключевое слово final.

Синтаксис:

final class A
(
. . .
)
Class B extends A
(
. . .
)

В этом случае будет сгенерирована ошибка, которая говорит: «Невозможно наследовать от конечного A».

Вывод

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

Рекомендуемые статьи

Это руководство по наследованию в Java. Здесь мы обсуждаем важность и различные типы наследования в Java, а также синтаксис, примеры и реализацию кода. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. JScrollPane в Java
  2. Сессии в PHP
  3. Сортировка в Java
  4. Что такое Java сборщик мусора?
  5. Инструменты развертывания Java
  6. Переопределение в Java
  7. Наследование в PHP