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ė.