0Pricing
PHP Academy · Lekcja

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!

Dziedziczenie — ilustracja 1

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!

Dziedziczenie — ilustracja 11

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

  1. Wprowadzenie do OOP w PHP
  2. Definiowanie klas i obiektów
  3. Dziedziczenie
  4. Enkapsulacja i modyfikatory dostępu
  5. Polimorfizm
← Powrót do PHP Academy