Metody finalne a dziedziczenie

Założenie: Zrozumieć, jak działa modyfikator final w kontekście metod i dziedziczenia w PHP oraz zapobiec niezamierzonemu nadpisywaniu metod.

Krok po kroku:

  1. Tworzenie klasy bazowej: Zdefiniujmy klasę bazową Animal z metodą makeSound().
  2. 
    
    				

    Ten kod definiuje klasę Animal z publiczną metodą makeSound(), która wypisuje komunikat “Generic animal sound”.

  3. Tworzenie klasy pochodnej bez modyfikatora final: Utwórzmy klasę pochodną Dog dziedziczącą po Animal i nadpisującą metodę makeSound().
  4. 
    
    				

    Klasa Dog dziedziczy po Animal i nadpisuje metodę makeSound(), aby wypisać “Woof!”.

  5. Tworzenie klasy pochodnej z metodą final: Zdefiniujmy klasę bazową Cat z metodą makeSound() oznaczoną jako final.
  6. 
    
    				

    Metoda makeSound() w klasie Cat jest oznaczona jako final. Próba nadpisania jej w klasie pochodnej Kitten spowoduje błąd.

  7. Wywołanie metod: Stwórzmy obiekty klas i wywołajmy metodę makeSound().
  8. 
    makeSound(); // Wynik: Generic animal sound
    
    $dog = new Dog();
    $dog->makeSound(); // Wynik: Woof!
    
    $cat = new Cat();
    $cat->makeSound(); // Wynik: Meow!
    
    // $kitten = new Kitten();
    // $kitten->makeSound(); // Błąd kompilacji, jeśli odkomentować
    ?>
    				

    Ten kod demonstruje, jak działa nadpisywanie metod i jak modyfikator final zapobiega temu.

Ten przykład pokazuje podstawowe zastosowanie modyfikatora final w metodach. Zachęcamy do dalszego zgłębiania tematu dziedziczenia i modyfikatorów dostępu w PHP!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *