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ą
Animalz metodąmakeSound()i prywatną właściwościąsound. Enkapsulacja chronisoundprzed bezpośrednim dostępem z zewnątrz. - Krok 2: Klasa pochodna (Dog). Tworzymy klasę
Dogdziedziczącą poAnimal. Nie mamy bezpośredniego dostępu do$sound, ale możemy używać metodymakeSound(). - Krok 3: Użycie klas. Tworzymy obiekt klasy
Dogi wywołujemy metodęmakeSound(). Widzimy, że dźwięk jest emitowany poprawnie, mimo że nie modyfikujemy bezpośrednio zmiennej$soundw 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.