Finalne klasy i metody (final)

Założenie: Zrozumieć i zastosować modyfikator final dla klas i metod w PHP, aby zapobiec dziedziczeniu i nadpisywaniu.

Krok po kroku:

  1. Definicja klasy bez modyfikatora final:
    
    class Samochod {
      public function zatrzymaj() {
        echo "Samochód się zatrzymuje.
    "; } }

    Tworzymy klasę Samochod z metodą zatrzymaj().

  2. Dziedziczenie klasy Samochod:
    
    class SportowySamochod extends Samochod {
      public function zatrzymaj() {
        echo "Sportowy samochód się zatrzymuje gwałtownie!
    "; } }

    Klasa SportowySamochod dziedziczy po Samochod i nadpisuje metodę zatrzymaj().

  3. Definicja finalnej klasy:
    
    final class FinalnySamochod {
      public function zatrzymaj() {
        echo "Finalny samochód się zatrzymuje.
    "; } }

    Tworzymy klasę FinalnySamochod z modyfikatorem final, uniemożliwiając jej dziedziczenie.

  4. Próba dziedziczenia finalnej klasy (błąd):
    
    // Błąd! Nie można dziedziczyć po finalnej klasie.
    class Blad extends FinalnySamochod {}
    				

    Próba dziedziczenia po FinalnySamochod spowoduje błąd.

  5. Definicja finalnej metody:
    
    class Samochod2 {
      final public function zatrzymaj() {
        echo "Samochód się zatrzymuje.
    "; } } class SportowySamochod2 extends Samochod2 { // Błąd! Nie można nadpisać finalnej metody. public function zatrzymaj() { echo "Sportowy samochód się zatrzymuje gwałtownie!
    "; } }

    Tworzymy klasę Samochod2 z finalną metodą zatrzymaj(). Próba nadpisania tej metody w klasie pochodnej spowoduje błąd.

Pamiętaj, że użycie final pozwala na kontrolowanie dziedziczenia i zapobieganie niezamierzonym zmianom w kodzie.

Ten przykład pokazuje podstawowe zastosowanie modyfikatora final. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!

Dodaj komentarz 0

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