Sobes.tech
Junior — Middle

Kokias funkcijas reikia apibrėžti visiškai kapsuliacijai klasėje?

sobes.tech AI

Atsakymas iš AI

Visapusiškai uždengus klasę PHP, būtina apibrėžti prieigos metodus prie privačių arba apsaugotų savybių — dažniausiai getterius (get) ir setterius (set). Jie leidžia kontroliuoti objekto vidinių duomenų skaitymą ir keitimą, nesuteikiant tiesioginės prieigos prie savybių.

Pavyzdys:

class User {
    private string $name;

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

    public function setName(string $name): void {
        // Galima pridėti validaciją
        $this->name = $name;
    }
}

Taip savybės lieka paslėptos, o prieiga prie jų vyksta per metodus, kas ir yra kapsuliacijos esmė.