Klasy abstrakcyjne

Oznacza się je jako abstract, nie można ich zainicjalizować (utworzyć obiektu) oraz posiadają metody abstrakcyjne które podobnie jak w przypadku interfejsów nie posiadają ciała i wymuszona jest ich implementacja (w klasach dziedziczących po takiej klasie abstrakcyjnej). Jednak w odróżnieniu od interfejsów klasy abstrakcyjne mogą mieć swoje pola i metody nieabstrakcyjne(z implementacją) których możemy używać analogicznie jak w przypadku zwykłego dziedziczenia klasa po klasie.
Klasę abstrakcyjną dziedziczy się identycznie jak zwykłą, za pomocą słówka extends i tak samo jak w przypadku klasycznego dziedziczenia tak i tu nie występuje wielodziedziczenie.

public abstract class Math {
    public double a;
    public double b;

    public double add(double a, double b) {
    return a+b;
    }
    public double subtract(double a, double b){
    return a-b;
    }

    public abstract double multiply(double a, double b);
    public abstract double divide(double a, double b);

}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *