Synligheten av variabler, spesielt ved egenskaper og metoder i objektorientert programmering, er et nøkkelkonsept som er av stor betydning for alle utviklere. Spesielt i PHP bestemmer synlighetsmodifikatorene public, private og protected hvem som kan få tilgang til spesifikke egenskaper og metoder. Disse konseptene hjelper til med å implementere datakapsling, som gjør objektorienterte programmer mer robuste og vedlikeholdbare. I denne veiledningen lærer du hvordan disse modifikatorene brukes og hvilke konsekvenser de kan ha for strukturen i programmeringen din.
Viktige innsikter
- public: Egenskaper er tilgjengelige fra hvor som helst.
- private: Egenskaper er kun tilgjengelige innenfor klassen selv.
- protected: Egenskaper er tilgjengelige innenfor klassen og i avledede klasser.
Trinn-for-trinn-veiledning
1. Lage en enkel klasse med en offentlig egenskap
Til introduksjonen oppretter vi en klasse Bil, der vi definerer en offentlig egenskap kalt Hastighet. Dette vil gi deg et klart bilde av hvordan du kan få tilgang til denne egenskapen fra utsiden.

Du kan nå opprette et objekt av denne klassen:

Når du nå setter hastigheten til Bil til 30, 50 eller til og med 130, har du ikke tilgang til begrensninger – det er styrken til public-synligheten.
2. Introduksjon av maksimal hastighet med en privat egenskap
Nå legger vi til en privat egenskap maksimalhastighet og endrer metoden slik at den bare setter tillatte hastigheter. På denne måten kan du sikre at det kun tildeles gyldige verdier.
Med denne metoden kan du sette hastigheten samtidig som du sørger for at ingen feil oppstår på grunn av for høye verdier.

3. Bruke Getter- og Setter-metoder for private egenskaper
Siden maksimalhastighet er privat, kan du kun gjøre den tilgjengelig via metoder innen klassen. Det følgende eksemplet viser hvordan du implementerer getter- og setter-metoder.

Ved hjelp av disse metodene oppnår du kapsling og påvirkning på egenskapene fra utsiden.

4. Forstå protected-modifikatoren
Nå ser vi på protected modifikatoren. Denne gir klasser som arver fra andre klasser tilgang til spesifikke egenskaper. Det betyr at underklasser kan bruke eller overskrive en spesifikk metode eller egenskap.

I dette tilfellet kan Racerbil få tilgang til den beskyttede egenskapen, mens eksterne klasser ikke kan. Dette muliggjør koding av spesifikat atferd for avledede klasser.
5. Beslutning om synlighet
En viktig beslutning du må ta, gjelder synligheten av egenskapene dine. Generelt bør du bruke private, med mindre det er åpenbart at en egenskap er nødvendig innen arv. I så fall velger du protected.

Husk at når du er i en vedlikeholdsfase eller jobber med en ny funksjon, kan du alltid endre tilgangskontrollene dine senere hvis det blir nødvendig.
Oppsummering – Synlighet ved egenskaper: public, private og protected i PHP
Synligheten av egenskaper i PHP er avgjørende for forståelsen av datakapsling og objektorientert programmering. Med modifikatorene public, private og protected kan du oppnå presisjon og kontroll over tilgangen til egenskaper og metoder i klassene dine. Gjennom riktig anvendelse av disse prinsippene kan du betydelig forbedre vedlikeholdbarheten og sikkerheten til koden din.
Vanlige spørsmål
Hva betyr public i PHP?public betyr at egenskapen eller metoden er tilgjengelig fra hvor som helst.
Hva betyr private i PHP?private betyr at egenskapen eller metoden kun kan kalles innenfor klassen selv.
Hva betyr protected i PHP?protected betyr at egenskapen eller metoden kan kalles av den egne klassen og avledede klasser.
Når skal jeg bruke private?Du bør bruke private som standard for å maksimere synlighet og kontroll.
Når kan jeg bytte til protected?Bytt til protected når en egenskap er nødvendig innen arveklasser og du ønsker å hindre tilgang utenfra.