Muutu nähtavus muutujate, eriti omaduste ja meetodite objekti-orienteeritud programmeerimises, on võtmekontseptsioon, mis on igale arendajale äärmiselt oluline. Eriti PHP keeles määravad nähtavusmodifikaatorid public, private ja protected, kes saavad teatud omadustele ja meetoditele juurde pääseda. Need kontseptsioonid aitavad andmete kapseldamist rakendada, muutes objekti-orienteeritud programmid vastupidavamaks ja hooldatavamaks. Selles juhendis õpid, kuidas neid modifikaatoreid kasutada ja millised võivad olla nende mõjud sinu programmeerimise struktuurile.
Olulised järeldused
- public: omadused on kergesti kättesaadavad igal pool.
- private: omadused on kättesaadavad ainult klassi sees.
- protected: omadused on kättesaadavad klassis ja tuletatud klassides.
Astmed-samm-sammult juhend
1. Lihtsa klassi loomine avaliku omadusega
Sissejuhatuseks loome klassi Auto, kus defineerime avaliku omaduse nimega Kiirus. See annab sulle selge ülevaate, kuidas sinu klassi välisest juurdepääsu sellele omadusele.

Sa saad nüüd luua objekti sellest klassist:

Kui sead nüüd Auto kiirus 30, 50 või isegi 130, siis ei ole sul piirangutele juurdepääsu – see on avaliku nähtavuse jõud.
2. Maksimaalkiirusena privaatse omaduse lisamine
Nüüd lisame private omaduse maksimaalkiirus ja muudame meetodit nii, et see seaks ainult lubatud kiirus.^ Niimoodi saad veenduda, et ainult kehtivad väärtused antakse.
Sel viisil saad seada kiirus ja veenduda, et liiga kõrged väärtused ei põhjusta vigu.

3. Getter- ja Setter-meetodite kasutamine privaatsete omaduste jaoks
Kuna maksimaalkiirus on privaatne, saad selle muuta kättesaadavaks ainult klassi meetodite kaudu. Järgmine näide näitab, kuidas implementida Getter- ja Setter-meetodeid.

Need meetodid tagavad, et omaduste kapseldamine ja neile juurdepääs väljastpoolt on tagatud.

4. Protected-modifikaatori mõistmine
Nüüd vaatame protected modifikaatorit. See võimaldab klassidel, mis pärivad teistest klassidest, juurdepääsu teatud omadustele. See tähendab, et alamklassid saavad jätkuvalt kasutada või ületada spetsiifilisi meetodeid või omadusi.

Sel juhul saab sportauto juurde pääseda kaitstud omadusele, kuid välised klassid ei saa. See võimaldab kodeerida suunatud käitumist tuletatud klasside jaoks.
5. Otsus nähtavuse üle
Oluline otsus, mille pead tegema, puudutab sinu omaduste nähtavust. Üldiselt peaksid eelistama private, välja arvatud juhul, kui on selge, et omadust on pärimisprotsessis vaja. Sellisel juhul vali protected.

Pead meeles, et kui oled hooldusfaasis või töötad uue funktsiooni kallal, saad oma juurdepääsukontrolle hiljem muuta, kui see osutub vajalikuks.
Kokkuvõte – omaduste nähtavus: public, private ja protected PHP-s
Omaduste nähtavus PHP-s on hädavajalik andmete kapseldamise ja objekti-orienteeritud programmeerimise mõistmise jaoks. Modifikaatorite public, private ja protected abil saad saavutada täpsust ja kontrolli omadustele ja meetoditele juurdepääsu üle sinu klassides. Nende põhimõtete õige rakendamine parandab märgatavalt sinu koodi hooldatavust ja turvalisust.
Korduma kippuvad küsimused
Mida tähendab public PHP-s?public tähendab, et omadus või meetod on kergesti kättesaadav igal pool.
Mida tähendab private PHP-s?private tähendab, et omadust või meetodit saab kutsuda ainult selle klassi seest.
Mida tähendab protected PHP-s?protected tähendab, et omadust või meetodit saab kutsuda nii enda klassist kui ka tuletatud klassidest.
Millal peaksin kasutama private?Sa peaksid vaikimisi kasutama private, et maksimeerida nähtavust ja kontrolli.
Millal saan vahetada protectedi peale?Vaheta protectedile, kui omadust vajama tuletatud klassides ja soovid välist juurdepääsu takistada.