Junior — Middle
Jakie funkcje należy zdefiniować dla pełnej enkapsulacji klasy?
sobes.tech AI
Odpowiedź od AI
Aby w pełni zaimplementować enkapsulację klasy w PHP, konieczne jest zdefiniowanie metod dostępowych do prywatnych lub chronionych właściwości — zazwyczaj są to gettery (get) i settery (set). Pozwalają one kontrolować odczyt i modyfikację danych wewnętrznych obiektu, nie dając bezpośredniego dostępu do właściwości.
Przykład:
class User {
private string $name;
public function getName(): string {
return $this->name;
}
public function setName(string $name): void {
// Można dodać walidację
$this->name = $name;
}
}
W ten sposób właściwości pozostają ukryte, a dostęp do nich odbywa się przez metody, co jest istotą enkapsulacji.