Przejdź do treści głównej
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() lub super.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.