Рубрики
Без рубрики

Учебник по Java – 9 Наследование

Введение Наследование – это механизм создания подкласса, который наследует атрибуты… С тегами java, учебник, для начинающих.

Вступление

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

Обычно родительский класс представляет собой общую абстракцию сущности. Подкласс – это специфическая абстракция сущности. Механизм наследования проиллюстрирован на этом рисунке.

Создание наследования

Чтобы создать наследование, используйте расширяет ключевое слово , за которым следует родительский класс. В этом примере создаются два класса под названием Автомобиль и Гоночный автомобиль . Автомобиль действует как родительский класс, а Гоночный автомобиль действует как подкласс. Связь между Автомобилем и Гоночный автомобиль показан на этом рисунке ниже.

Класс автомобиля

public class Car {
    private String manufacturer;
    private String model;

    public Car(String manufacturer, String model) {
        this.manufacturer = manufacturer;
        this.model = model;
    }

    public void run() {
        System.out.println("Running...");
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }
}

Класс гоночных автомобилей

public class RaceCar extends Car{
    // additional field for race car class
    private String teamName;

    public RaceCar(String manufacturer, String model, String teamName) {
        // call the parent's constructor using super()
        super(manufacturer, model);
        this.teamName = teamName;
    }

    // implement run() for race car class
    @Override
    public void run() {
        System.out.println("Running with racing spec");
    }

    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }
}

Основной класс

public class MyApp {
    public static void main(String[] args) {
        RaceCar car = new RaceCar("Porsche","911 GT3","Manthey Racing");
        car.run();

    }
}

Выход

Running with racing spec

Основываясь на приведенном выше коде, Гоночный автомобиль расширяет все поля и методы в классе Car таким образом, поля и методы внутри класса Car также доступны в классе Гоночный автомобиль . Обратите внимание, что super() используется внутри конструктора RaceCar для вызова родительского конструктора.

Класс Гоночный автомобиль переопределяет метод из класса Автомобиль , называемый run() с @Переопределением аннотацией. @Override в основном означает определение конкретной реализации в родительском методе в данном случае метода run() .

Простой способ понять код наследования – заменить extends с - это слово.

В этом случае Гоночный автомобиль является автомобилем итак, объект из Гоночный автомобиль класс может храниться в переменной с типом Car .

public class MyApp {
    public static void main(String[] args) {
        Car raceCar = new RaceCar("Toyota","GT-One","Toyota Racing");
        raceCar.run();
    }
}

Выход

Running with racing spec

Основываясь на приведенной выше обложке, метод run() вызывается из класса Гоночный автомобиль .

Записи

Множественное наследование не поддерживается в Java. Множественное наследование означает, что класс может наследовать множество родительских классов. Это иллюстрация множественного наследования.

Многоуровневое наследование поддерживается в Java. Это иллюстрация многоуровневого наследования.

Источники

  • Узнайте больше о наследовании по этой ссылке .

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

Оригинал: “https://dev.to/nadirbasalamah/java-tutorial-9-inheritance-53ip”