Dziedziczenie
Ponownie wykorzystuj kod i rozszerzaj funkcjonalność za pomocą dziedziczenia
Dziedziczenie to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 3 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 5 lekcji w sumie.
Dziedziczenie w PHP
Dziedziczenie w PHP
Witamy na kolejnej lekcji! W tej lekcji poznają Państwo dziedziczenie — podstawową koncepcję programowania obiektowego (OOP), która pozwala rozszerzać funkcjonalność klasy. Zaczynajmy!

Czym jest dziedziczenie?
Czym jest dziedziczenie?
Dziedziczenie to mechanizm w OOP, który pozwala jednej klasie (klasie potomnej) dziedziczyć właściwości i metody z innej klasy (klasy nadrzędnej). Sprzyja to ponownemu wykorzystaniu kodu i tworzeniu hierarchii w programowaniu.
Przykład: Klasa Car może pełnić rolę klasy nadrzędnej dla klas Sedan i SUV.
Definiowanie dziedziczenia
Definiowanie dziedziczenia
Słowa kluczowego extends należy użyć do utworzenia klasy potomnej dziedziczącej po klasie nadrzędnej. Przykład:
Wskazówka: Dziedziczenia należy używać, aby uniknąć powielania kodu.
<h2>Defining Inheritance</h2>
<p>Use the <code>extends</code> keyword to create a child class that inherits from a parent class. Example:</p>
Nadpisywanie metod
Nadpisywanie metod
Klasy potomne mogą nadpisywać metody klasy nadrzędnej, aby zapewnić określoną funkcjonalność. Przykład:
<?php
class Vehicle {
public function drive() {
echo "Driving a generic vehicle.";
}
}
class Car extends Vehicle {
public function drive() {
echo "Driving a car.";
}
}
$car = new Car();
$car->drive(); // Outputs: Driving a car.
?>
Słowo kluczowe parent
Słowo kluczowe parent
Słowa kluczowego parent należy użyć do wywołania metody klasy nadrzędnej wewnątrz nadpisanej metody. Przykład:
<?php
class Vehicle {
public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
public function start() {
parent::start();
echo " Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the vehicle. Starting the car engine.
?>
Zalety dziedziczenia
Zalety dziedziczenia
Dziedziczenie oferuje następujące korzyści:
- Sprzyja ponownemu wykorzystaniu kodu.
- Ustanawia przejrzystą hierarchię klas.
- Umożliwia polimorfizm, pozwalając klasom potomnym nadpisywać metody.
Chronione składowe
Chronione składowe
Dziedziczenie działa również w przypadku chronionych składowych. Chronione właściwości i metody są dostępne dla klas potomnych, ale nie poza hierarchią klas. Przykład:
Najważniejsza informacja: Słowa kluczowego protected należy używać do bezpiecznego współdzielenia składowych między klasami nadrzędnymi i potomnymi.
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
Klasy abstrakcyjne
Klasy abstrakcyjne
Klasa abstrakcyjna zapewnia klasom potomnym strukturę bazową, ale nie można utworzyć jej instancji. Przykład:
Najważniejsza informacja: Klas abstrakcyjnych należy używać, gdy chcą Państwo wymusić implementację określonych metod w klasach potomnych.
<?php
abstract class Vehicle {
abstract public function start();
}
class Car extends Vehicle {
public function start() {
echo "Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the car engine.
?>
Słowo kluczowe final
Słowo kluczowe final
Słowo kluczowe final uniemożliwia dalsze dziedziczenie lub nadpisywanie. Przykład:
Wskazówka: Słowa kluczowego final należy używać do ochrony metod lub klas przed rozszerzaniem.
<?php
class Vehicle {
final public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
// Cannot override the start method
}
?>
Świetna robota!
Świetna robota!
Gratulacje! Poznali Państwo dziedziczenie w PHP, w tym rozszerzanie klas, nadpisywanie metod i korzystanie z klas abstrakcyjnych. W następnej lekcji omówimy enkapsulację i modyfikatory dostępu. Kontynuujmy programowanie!

Często zadawane pytania
Czy lekcja „Dziedziczenie” jest bezpłatna?
Tak — pełny tekst „Dziedziczenie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 5 lekcji w sumie.
Co nauczysz się w „Dziedziczenie”?
Ponownie wykorzystuj kod i rozszerzaj funkcjonalność za pomocą dziedziczenia Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 5.
Ile czasu zajmuje lekcja „Dziedziczenie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do OOP w PHP
- Definiowanie klas i obiektów
- Dziedziczenie
- Enkapsulacja i modyfikatory dostępu
- Polimorfizm