Programele orientate pe obiect sunt mai simple și mai mobil, mai ușor de modificat și de a menține decât omologii lor „tradiționale“. În plus, se pare, ideea în sine obiect orientat cu utilizarea corectă a acestuia permite programului să fie chiar mai sigure din diferitele tipuri de erori decât destinate de programator la timpul de lucru pe ea. Cu toate acestea, nimic nu vine pentru nimic: ei
idei OOP destul de greu de înțeles „de la zero“, deci încă un număr foarte mare de programe (diverse sisteme Unix, Apache, Perl, PHP și chiar el însuși) încă se face în bune vechi „neorientate-obiect“ C.
PHP până de curând oferi doar un sprijin pentru OEP. Cu toate acestea, după eliberarea de sprijin OOP PHP5 în PHP a devenit aproape completă.
Strategia de PLO este cel mai bine descrisă ca o schimbare în prioritățile în procesul de programare a funcționalității aplicației către structurile de date. Acest lucru permite programatorului pentru a modela aplicațiile în obiecte și situații reale. Tehnologia OOP oferă trei avantaje principale:
Specificul OEP crește în mod semnificativ eficiența și le permite programatorilor să creeze aplicații mai puternice, scalabile și eficiente.
Orientată obiect de programare se bazează pe:
* Încapsularea;
* Polimorfismul
* Moștenirea.
Încapsularea - un mecanism care reunește date și prelucrarea codului lor în ansamblu.
Multe avantaje OOP din cauza unuia dintre principiile sale fundamentale - încapsulare. Încapsularea se numește includerea diverselor obiecte mici într-un obiect mai mare, prin care programatorul lucrează direct cu obiectul. Acest lucru conduce la o simplificare a programului, astfel cum a exclus de la detalii minore.
Încapsularea poate fi comparată cu performanța mașinii din punctul de vedere al unui conducător auto tipic. Mulți șoferi nu înțeleg detaliile dispozitivului intern al mașinii, dar rulați-l exact așa cum a fost destinat. Să presupunem că nu știu cum motorul, frâna sau direcție - există o interfață specială care automatizează și simplifică aceste operații complexe. Cele de mai sus se aplică și la încapsulării și OLP - mai multe detalii cu privire la „dispozitiv intern“ ascunse utilizatorului, permițându-i să se concentreze pe rezolvarea problemelor specifice. În OOP această capacitate este asigurată de clase, obiecte și diferite mijloace de expresie a relațiilor ierarhice dintre ele.
Polimorfismul vă permite să utilizați aceleași nume sau nume similare, dar sarcini diferite punct de vedere tehnic. În principal, în polimorfismului este că vă permite să manipuleze obiecte prin crearea de interfețe standard pentru acțiuni similare. Polimorfismul facilitează foarte mult scrierea de programe complexe.
Clase și obiecte în PHP
Clasa - este un concept de bază în programarea orientată pe obiecte (OOP). Pentru a pus pur și simplu, clasa - un fel de tip variabilă.
Un exemplu - un obiect. Obiectul - acest set de date (proprietăți) și funcții (metode) pentru procesare. Date și metode sunt numite membri ai clasei. În general, un obiect este ceva care acceptă încapsulare.
datele obiectelor din interiorul și cod (membrii clasei) poate fi deschis sau nu. Deschideți membrii de date și de clasă sunt accesibile altor părți ale programului, care nu fac parte din obiectul. Dar datele private și membrii clasei sunt accesibile numai în cadrul obiectului.
Clasa Descriere în PHP începe clasa oficială cuvânt:
= New Object class_name;
Acestea sunt descrise de cuvânt var oficial. Metoda este descrisă în același mod ca și o funcție obișnuită. Metoda poate trece, de asemenea parametri.
Exemplu de clasă PHP:
Accesul la clasă și obiecte în PHP
Am considerat modul în care descrie clasele și sunt create obiecte. Acum, avem nevoie pentru a obține acces la membrii clasei, acest lucru în PHP este operatorul ->. Iată un exemplu:
Pentru a avea acces la membrii unei clase într-o clasă, trebuie să utilizați $ acest indicator, care se referă întotdeauna la obiectul curent. Modificat getName () metoda:
Acum setName () metoda poate fi utilizată pentru a schimba numele:
Și aici este lista completă de cod:
Pointer $ acest lucru poate fi, de asemenea, folosite pentru metodele de acces, nu numai pentru a avea acces la datele:
Uneori este necesar pentru a inițializa obiectul - pentru a atribui valori inițiale pentru proprietățile sale. Presupunem că numele clasei Coor și conține două proprietăți: numele și orașul de reședință al persoanei. Este posibil să se scrie o metodă (funcție) care va realiza inițializarea unui obiect, cum ar fi Init ():
Este important să nu uitați să apela funcția imediat după crearea obiectului, sau de a provoca orice metodă între obiect unitate (operator nou) și inițializați (prin apelarea Init).
Pentru ca PHP să știe că o metodă specifică ar trebui să fie numit în mod automat atunci când este creat un obiect, acesta trebuie să aibă același nume ca și clasa (Coor):
Metoda inițializează obiectului, numit un constructor. Cu toate acestea, PHP nu are destructori, deoarece resursele sunt eliberate în mod automat la sfârșitul script-ul.
Moștenirea și polimorfism clase în PHP
clase care moștenesc în PHP
Moștenirea - nu este doar crearea unei copii exacte a clasei, și extinderea unei clase existente la descendentul pentru a efectua orice numai să-l funcție nouă, specifică. Să considerăm un exemplu specific în PHP:
Cuvânt cheie se extinde (vezi. Exemplu) spune ca copilul din clasa copil moștenește toate metodele și proprietățile clasei părinte. Frecvent numit clasa părinte sau superclasă clasă de bază și subclasa copilului - derivat sau subclase.
Polimorfismul de clase în PHP
Polimorfismul - sunt proprietăți ale folosirii clasei de baza funcțiilor claselor derivate. Un exemplu practic care prezintă proprietatea de clasă - Polimorfismul:
În acest exemplu, funcția base_funct () Clasa de bază a fost re-înregistrat eponim clasă caracteristică derivatului. Funcția recalificate astfel numit virtuale.