INF.04Programowanie Obiektowe i Paradygmaty (OOP)
Dziedziczenie (Inheritance w OOP)
Mechanizm programowania obiektowego pozwalający klasie pochodnej (podrzędnej) na przejęcie pól i metod z klasy bazowej (nadrzędnej) oraz ich rozszerzenie lub modyfikację.
Rola dziedziczenia w OOP
Dziedziczenie (Inheritance) tworzy hierarchię klas reprezentującą relację typu 'jest czymś' (is-a, np. Samochód jest Pojazdem). Umożliwia ponowne wykorzystanie kodu i budowanie wyspecjalizowanych typów danych.
Składnia dziedziczenia w różnych językach:
- C# / C++: Dwukropek
:(np.class Samochod : Pojazd). - Java: Słowo kluczowe
extends(np.class Samochod extends Pojazd). - Python: Nazwa klasy w nawiasie (np.
class Samochod(Pojazd):). - PHP: Słowo kluczowe
extends.
Odwołanie do konstruktora i metod klasy bazowej:
- C#: Słowo kluczowe
base(np.public Samochod() : base()). - Java / JS: Słowo kluczowe
super()lubsuper.metoda(). - C++: Nazwa klasy bazowej na liście inicjalizacyjnej.
Modyfikator protected:
Pola i metody ze specyfikatorem protected są niewidoczne na zewnątrz klasy, ale są dostępne w klasach pochodnych.
Pułapki na egzaminie INF.04:
- W językach C# i Java nie ma wielokrotnego dziedziczenia klas (klasa może dziedziczyć tylko po jednej klasie bazowej). Wielokrotne dziedziczenie wspiera natomiast język C++.
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Dziedziczenie (Inheritance w OOP) lub rozpocznij trening.