Sobes.tech
Junior

Kako klasa naslednik koristi funkcionalnost klase roditelja?

sobes.tech АИ

Одговор од АИ

Кроз наслеђивање: класа наследник добија јавне и заштићене чланове класе-родитеља.

  • Директан приступ: Једноставно можете приступити јавним и заштићеним пољима и методама класе-родитеља по њиховом имену унутар класе наследника.
  • Кључна реч super: Користи се за позивање конструктора родитеља или за приступ прекопираним методама/пољима родитеља када у класи наследнику постоје чланови са истим именом.
  • Преоптерећење (overriding): Методи родитеља (који нису final) могу бити преоптерећени у класи наследнику, променивши њихово понашање.
// Пример родитељске класе
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Вредност родитеља: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Овај метод не може бити преоптерећен.");
    }
}

// Пример класе наследника
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Позив конструктора родитеља
        this.childValue = childValue;
    }

    // Преоптерећење метода родитеља
    @Override
    public void displayParentValue() {
        System.out.println("Преоптерећена вредност родитеља: " + parentValue); // приступ заштићеном пољу родитеља
    }

    public void displayChildValue() {
        System.out.println("Вредност детета: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // позив метода родитеља преко super
    }
}