Programarea orientata spre obiecte incearca sa foloseasca clasificarile, relatiile si proprietatile obiectelor din sistem pentru a ajuta la dezvoltarea programelor. Principalele caracteristici sunt incapsularea- ascunderea datelor, polimorfismul si mostenirea.
Clase si obiecte
Un obiect este o colectie unica si identificabila de date stocate si de operatii care actioneaza asupra acelor date. Obiectele pot fi grupate in clase. Clasele reprezinta un set de obiecte care pot diferi de la caz la caz, dar trebuie sa aiba anumite lucruri comune.
Definitie minimala a unei clase:
class numeclasa
{
}
Constructori
Un constructor este un tip special de operatie care este apelat la crearea unui obiect si realizeaza de obicei initializari utile. Constructorii au acelasi nume cu clasa.
Instantierea unei clase
Dupa ce declari o clasa trebuie creat un obiect - o anumita individualitate care este un membru al clasei. Acest lucru se numeste instantierea unei clase si il faci cu ajutorul cuvantului cheie new.
Utilizarea atributelor clasei si apelul operatiilor clasei
Cand vrei sa faci referire intr-o operatie din clasa la o variabila a clasei trebuie sa folosesti variabila speciala $this. De exemplu, pentru variabila membru $variabila ea poate fi accesta prin $this->variabila.
De asemenea, apelul operatiilor clasei il poti face asemanator apelului atributelor clasei.
Mostenirea
Mostenirea este proprietatea prin care o clasa poate prelua date si operatii de laalta clasa definita anterior. Pentru aceasta se foloseste cuvantul extends. Totodata, exista si conceptul de mostenire multipla, insa PHP nu accepta aceasta.
Suprascrierea
Suprascrierea este o modalitate legata de mostenire. Este uneori util sa redeclari aceleasi atribute si operatii pentru a atribui unui atribut o alta valoare prestabilita fata de acelasi atribut din superclasa sa sau pentru a oferi unei operatii din subclasa o alta functionalitate pentru aceeasi operatie din superclasa. Exista insa resctrictii fata de alte limbaje orientate obiect.