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:
- Krok 1: Klasa bazowa (Animal). Definiujemy klasę bazową
Animal
z metodąmakeSound()
i prywatną właściwościąsound
. Enkapsulacja chronisound
przed bezpośrednim dostępem z zewnątrz. - Krok 2: Klasa pochodna (Dog). Tworzymy klasę
Dog
dziedziczącą poAnimal
. Nie mamy bezpośredniego dostępu do$sound
, ale możemy używać metodymakeSound()
. - 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 klasieDog
.
sound = $sound;
}
public function makeSound() {
echo $this->sound;
}
}
?>
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.