Sobes.tech
Junior — Middle

Milliseid funktsioone tuleb määratleda klassi täielikuks kapsuleerimiseks?

sobes.tech AI

Vastus AI-lt

Täieliku klassi kapseldamise jaoks PHP-s on vaja määratleda juurdepääsumeetodid privaatsetele või kaitstud omadustele — tavaliselt getterid (get) ja setterid (set). Need võimaldavad kontrollida objekti sisemiste andmete lugemist ja muutmist, ilma otse omadustele ligi pääsmata.

Näide:

class User {
    private string $name;

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

    public function setName(string $name): void {
        // Võib lisada valideerimise
        $this->name = $name;
    }
}

Nii jäävad omadused varjatuks, ja neile pääseb ligi meetodite kaudu, mis on kapseldamise olemus.