Dziedziczenie to jedno z podstawowych założeń programowania obiektowego. Polega na tworzeniu nowej klasy na podstawie klasy już istniejącej. Klasa potomna przejmuje cechy i zachowania klasy bazowej.
W Javie dziedziczenie zapisuje się za pomocą słowa kluczowego extends.
Przykład
public class Owoc {
}
public class Truskawka extends Owoc {
}
public class Jablko extends Owoc {
}
W tym przykładzie:
- Owoc jest klasą bazową, czyli nadrzędną,
- Truskawka i Jablko są klasami potomnymi,
- Truskawka oraz Jablko dziedziczą po klasie Owoc.
Oznacza to, że truskawka i jabłko są szczególnymi rodzajami owocu. Taka relacja często jest opisywana jako relacja „jest”: Truskawka jest Owocem, Jablko jest Owocem.
Po co stosuje się dziedziczenie?
Dziedziczenie pozwala:
- unikać powtarzania tego samego kodu,
- tworzyć hierarchie klas,
- rozszerzać działanie istniejących klas,
- wykorzystywać wspólne pola i metody w klasach potomnych.
Ważne na egzaminie
Jeżeli w kodzie widzisz słowo kluczowe extends, najczęściej chodzi o dziedziczenie. Nie należy mylić go z hermetyzacją, abstrakcją ani polimorfizmem. W podanym przykładzie nie pokazano ukrywania danych ani wielu form działania metod, tylko relację klasy potomnej do klasy bazowej.