Dziedziczenie klas
Dziedziczenie to adopcja wszystkich NIEprywatnych atrybutów i metod klasy nadrzędnej (superclass, ancestor class). Jeśli klasa B dziedziczy od klasy A, to obiekt klasy B jest jednocześnie obiektem klasy A - czyli posiada wszystkie właściwości (atrybuty i metody) zdefiniowane w klasie A. Aby zapisać, że klasa B dziedziczy od klasy B, używamy słowa kluczowego extends w następujący sposób:
class KlasaA {
atrybutA;
metodaA() {
...
}
}
class KlasaB extends KlasaA {
atrybutB;
metodaB() {
...
}
}
Gdzie klasa B to klasa podrzędna - klasa potomka (ang. descendant class), a klasa A to klasa nadrzędna - klasa przodka (ang. ancestor class).
W obiekcie klasy B są dostępne wszystkie atrybuty i metody zdefiniowane w klasie A oraz atrybuty i metody dostępne w klasie B.
Istnieje możliwość utworzenia klasy C dziedziczącej z klasy B, a następnie klasy D dziedziczącej z klasy C itd. - bez ograniczeń.
Atrybuty oraz metody klasy A mogą być używane w klasie B dokładnie tak, jak w klasie A, albo metody mogą zostać nadpisane (overriden). Nadpisanie polega na zastąpieniu oryginalnego kodu metody nowym kodem. W nowym kodzie metody można wywołać kod oryginalnej metody zdefiniowanej w klasie nadrzędnej - klasie przodka. Aby tego dokonać, należy wywołać oryginalną metodę, dodając przed jej nazwą słowo kluczowe super. - np. tak: super.nazwaOryginalnejMetody(...). Metody nadpisane warto oznaczać adnotacją @Override:
class KlasaA {
metodaA() {
...
}
}
class KlasaB extends A {
@Override
metodaA() {
... // tutaj jest zmodyfikowany kod metody metodaA
super.metodaA(); // można wywołać oryginalny kod metody metodaA z klasy KlasaA
...
}
}
Przykład drzewa hierarchii dziedziczenia klas

Na pokazanym wyżej diagramie obiekt klasy SamochódSpalinowy jest jednocześnie obiektem klasy Pojazd, obiektem klasy PojazdKołowy itd.
Czyli w rzeczywistości obiekt klasy SamochódSpalinowy jest "wyposażony" w następujący zestaw atrybutów i metod:

Więcej przykładów dziedziczenia:
Figura geometryczna - równoległobok, romb, trapez, trójkąt, owal
Elektrownia - turbinowa , fotowoltaiczna
Pracownik - szeregowy, biurowy, kierownik
Łódź - podwodna, żaglowa, motorowa, wiosłowa
Tablica - kredowa, korkowa, cyfrowa, mazakowa
Krzesło - obrotowe, bujane, elektryczne
Komputer - stacjonarny, przenośny, tablet
Konto bankowe - chwilowe, oszczędnościowego, walutowe
Broń - palna, biała, miotająca, rakietowa, chemiczna, jądrowa
Dźwig - szybowy (winda), budowlany + budowlany-stacjonarny, budowlany-mobilny
Wagon - towarowy, pasażerski, techniczny
Rzutnik obrazu - cyfrowy, szpulowy/ze slajdami
Lampa - stojąca, wisząca, abażur
Zwierzę - ssaki, ptaki, gady, płazy
Drzwi - skrzydłowe, suwane, obrotowe
Budynek - jednorodzinny, wieżowiec
Patrz także: