My blog

posts

Access modifiers

Modificatori, un terment pe cat de infricosator pentru incepatori pe atat de banal pentru un programator normal. Recunosc, si eu la inceput nu am inteles foarte bine la ce se refera sau ce mai exact fac acesti modificatori, insa cu timpul am realizat ca sunt un concept extrem de simplu. Fac pariu ca si tu i-ai folosit pana acum si nu stiai exact la ce folosesc. Hai sa intram mai adanc in subiect si sa vedem despre ce este vorba. 

Modificatorii, sau mai bine spus modificatorii de acces, sunt termenii aia pe care ii declari inaintea fiecarei variabile, functii sau chiar clase. Acestia seteaza nivelul de acces pe care il pot avea componentele unui program intre ele. 

Tipurile comune 
Acesti modificatori sunt de mai multe tipuri, insa exista doar 3 tipuri  care se intalnesc in toate limbajele de programare bazate pe OOP : public, protected si private. Hai sa ii luam pe fiecare in parte.

  1. Public ofera acces oricarei clase sa utilizeze proprietatea sau functia declarat/a. Practic oriunde as fi in program as putea accesa propietatea respectiva daca am o instanta de clasa in care a fost definita. 
  2. Protected permite accesul in interiorul claselor care extind clasa ce contine variabila/functia definita si in clasa extinsa. Spre exemplu, daca o clasa oarecare B incearca sa acceseze o functie protected anume din clasa A, va aparea o eroare, deoarece clasa B nu extinde clasa A. 
  3. Private permite accesul doar in interiorul clasei ce contine variabila/functia definita. Spre exemplu, daca o alta clasa inafara de clasa A incearca sa acceseze o functie private anume, va aparea o eroare pe ecran.
Unde utilizez acesti modificatori?  
Folosim modificatorii de acces doar atunci cand declaram o vaiabila, o functie sau o clasa. In exemplul de mai jos am demonstrat acest lucru: 
public class Mercedes{
  public $engine; 

  public function startEngine(){
   $this->engine->start();  
  }
}

$car = New Mercedes();
$car->startEngine();
Dupa cum vezi, modificatorii sunt folositi doar atunci cand declaram elementele. 

Important: Putem sa nu declaram niciun modificator in fara unei variabile/functii/clase. In acest caz, limbajul va considera intotdeauna elementul ca fiind protected, nu public. 
Concluzie
De multe ori folosim anumite concepte fara sa ne gandim prea mult la ele, insa acest lucru ne poate afecta destul de mult atat securitatea codului pe care il scriem cat si atentia noastra la detalii. Modificatorii sunt atat de comuni in scrierea programelor incat devin total ignorati. Cu toate astea, este bine ca atunci cand te pui sa scrii cod sa te gandesti cum este cel mai bine sa folosesti  acea functie, variabila si daca merita sa o declari publica. 

Cam atat pentru astazi! Sper ca ti-a placut acest articol, daca da nu uita sa lasi un comentariu. Daca nu, astept sfaturi cu privire la ce as putea face sa-mi imbunatatesc continutul de pe blog. 

0 Comments

  • Be the first one who leaves a comment!

Add a comment