PHP orientat spre obiecte, pentru incepatori

Post Title

        Deoarece incepatorilor le este greu sa inteleaga conceptul de orientare spre obiecte o sa fac un tutorial in care o sa explic doar cateva lucruri de baza, astfel inceptatori sa nu se complice, urmand sa scriu un tutorial pentru avansati mai incolo.

Ca sa va dati seama la ce se refera programarea pe obiecte gandti-va la o masina,aveti acces in ea doar prin portiere, o porniti doar cu o cheie, o accelerati si o franati doar prin pedale, asta este si conceptul poo, sa creati o clasa iar datele membre sa le puteti modifica doar prin intermediul unei functii din interiorul clase(pedale,cotact,portiera).

        Cel mai bine o sa intelegeti oop daca o sa va dau un exemplu clar de clasa. O clasa se defineste prin cuvantul cheie php "class" urmat de numele functiei, variabilele membre ale clase se declara prin cuvantul cheie "var" ( in php 5 nu mai este nevoie), metodele ( functiile) se delara prin cuvantul cheie "function", atat variabilele cat si metodele pot fi private,publice sau protejate. Daca sunt publice ele pot fi accesate in exteriorul unei clase daca sunt private pot fi accesate doar in interiorul clase. Referirea la o data membra a clasei, metoda, variabila se face prin pointerul $this->nume , dar sa nu mai lungim vorba si sa scriem cod.

 

  1.  
  2. class masina{
  3. //datele membre ale clasei
  4. private $motor;
  5. private $putere;
  6. private $masina;
  7.  
  8. //constructorul clasei
  9. public function masina(){
  10.  
  11. $this->motor=1.0;
  12. $this->putere='20cp';
  13. $this->masina='golf';
  14. }
  15. //metoda ce schimba tipul motorului
  16. public function modifica_motor($motor_){
  17. $this->motor=$motor_;
  18.  
  19. }
  20. //metoda de schimbare a puteri motorului
  21. public function modifica_putere($putere_){
  22. $this->putere=$putere_;
  23.  
  24. }
  25. //metoda de schimbare a tipului masini
  26. public function modifica_masina($masina_){
  27. $this->masina=$masina_;
  28. }
  29.  
  30. //metoda afisare a masini,motorului si puterea
  31. public function toString(){
  32. echo 'Masina: '.$this->masina.'
  33. <br> Motor: '.$this->motor.'
  34. <br> Putere:'.$this->putere.'<br>';
  35. }
  36. }

 

 

Am construit clasa masina, ce este de mentionat pentru fiecare clasa este o functie speciala numita constructor, care poarta numele clasei sau incepand cu versiunea 5 __construct(). Metoda constructor se apeleaza in timpul definiri obiectului clasei.

  1.  
  2. //declaram obiectul clasei
  3. $ob=new masina();
  4. //afisam masina dupa ce am apelat constructorul
  5. $ob->toString();
  6. //setam o noua masina
  7. $ob->modifica_masina("Passat");
  8. //setam un nou motor
  9. $ob->modifica_motor("2.5");
  10. //setam o noua putere pentru masina
  11. $ob->modifica_putere("180cp");
  12. //afisam noua masina
  13. $ob->toString();

Rezultat:

  1.  
  2. Masina: golf
  3. Motor: 1
  4. Putere:20cp
  5.  
  6. Masina: Passat
  7. Motor: 2.5
  8. Putere:180cp

 

Dupa cum se observa mai sus obiectul se declara prin cuvantul cheie "new"  urmat de numele clasei. ca sa apelam o metoda din clasa folosim obiectul urmat de operatorul "->" urmat de numele metodei.

Daca o sa incercati sa modificati sau sa afisati o data membra care are tipul "privat" o sa constatati ca primiti eroare.

Cam atat despre oop in acest tutorial, urmeaza mostenirea, tratarea exceptiilor si altele, pana atunci bafta

Autor articol
Y!M : mic_programator

Ştiinţa fără religie este şchioapă, religia fără ştiinţă este oarbă (Albert Einstein)

Acest articol nu este comentat, fii primul care o face

Trebuie sa fii logat sa poti lasa un comentariu Autentificare Inregistrare
top