Sobes.tech
Junior — Middle

Кои функции трябва да бъдат дефинирани за пълна инкапсулация на класа?

sobes.tech AI

Отговор от AI

За пълна капсулация на класа в PHP е необходимо да се дефинират методи за достъп до частните или защитени свойства — обикновено гетъри (get) и сетъри (set). Те позволяват контрол върху четенето и промяната на вътрешните данни на обекта, без да се дава директен достъп до свойствата.

Пример:

class User {
    private string $name;

    public function getName(): string {
        return $this->name;
    }

    public function setName(string $name): void {
        // Може да добавите валидация
        $this->name = $name;
    }
}

По този начин свойствата остават скрити, а достъпът до тях се осъществява чрез методи, което е същността на капсулацията.