Dziedziczenie a enkapsulacja

Założenie: Pokażemy, jak enkapsulacja chroni wewnętrzną implementację klasy bazowej przed zmianami w klasie pochodnej, ilustrując to prostym przykładem dziedziczenia.

Krok po kroku:

  1. Krok 1: Klasa bazowa (Animal). Definiujemy klasę bazową Animal z metodą makeSound() i prywatną właściwością sound. Enkapsulacja chroni sound przed bezpośrednim dostępem z zewnątrz.
  2. 
    sound = $sound;
      }
    
      public function makeSound() {
        echo $this->sound;
      }
    }
    ?>
    				
  3. Krok 2: Klasa pochodna (Dog). Tworzymy klasę Dog dziedziczącą po Animal. Nie mamy bezpośredniego dostępu do $sound, ale możemy używać metody makeSound().
  4. 
    
    				
  5. Krok 3: Użycie klas. Tworzymy obiekt klasy Dog i wywołujemy metodę makeSound(). Widzimy, że dźwięk jest emitowany poprawnie, mimo że nie modyfikujemy bezpośrednio zmiennej $sound w klasie Dog.
  6. 
    makeSound(); // Wyświetli "Hau!"
    ?>
    				

Ten przykład pokazuje podstawy enkapsulacji i dziedziczenia w PHP. Zachęcamy do dalszego zgłębiania tych pojęć, aby lepiej zrozumieć programowanie obiektowe.

Dodaj komentarz 0

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