Moștenirea este un concept central în programarea orientată pe obiect, care permite crearea de clase noi pe baza unor clase existente. Cu moștenirea poți reutiliza codul și simplifica structura programelor tale. Această ghidare îți va prezenta aspectele de bază ale moștenirii în PHP și îți va arăta, printr-un exemplu concret, cum poți implementa acest concept eficient în proiectele tale.
Principalele concluzii
- Moștenirea permite derivarea unei noi clase dintr-o clasă existentă.
- Proprietățile și metodele clasei de bază sunt moștenite de clasa derivată.
- Metodele pot fi suprascrise în clasa derivată pentru a implementa comportamente specifice.
Ghid pas cu pas pentru moștenirea în PHP
1. Definirea clasei de bază
Începe prin a defini o clasă de bază. În acest exemplu, vom crea o clasă Auto, care include o funcție de bază pentru accelerare. Această clasă are o proprietate publică pentru viteză și o metodă pentru creșterea vitezei.

Cu această structură, mașina noastră este capabilă să-și crească viteza atunci când metoda de accelerare este apelată.
2. Crearea unei clase derivate
Acum, că mașina noastră de bază este definită, vom crea o clasă derivată numită Mașină de curse. Această clasă extinde funcționalitatea mașinii prin moștenirea clasei de bază.

Prin utilizarea cuvântului cheie extends, clasa Mașină de curse devine subordonată clasei Auto. Astfel, mașina de curse are acces la proprietățile și metodele acesteia.
3. Instanțierea obiectelor
Acum putem instanția atât o mașină normală, cât și o mașină de curse. Acest lucru ne oferă posibilitatea de a testa metodele celor două clase.

Aici vedem că mașinaNormala și mașinaDeCurse au propriile lor instanțe și ambele pot apela metoda de accelerare.
4. Suprascrierea metodelor
În clasa Mașină de curse, putem suprascrie metoda de accelerare pentru a introduce un comportament mai rafinat.

Cu parent::accelerare() apelăm metoda clasei părinte și adăugăm apoi o logică suplimentară pentru a utiliza turbo.
5. Accesarea proprietăților și metodelor
Acum, dacă dorești să afișezi viteza ambelor vehicule, poți accesa proprietatea viteză.

Această ieșire arată vitezele curente ale ambelor mașini.
6. Înțelegerea polimorfismului
Un subiect central în contextul moștenirii este polimorfismul. Acesta se referă la utilizarea aceleași metode în contexte diferite. Un exemplu este că atât mașina, cât și mașina de curse dispun de metoda de accelerare, dar aceasta este implementată diferit.

Prin această funcție poți accelera orice tip de vehicul prin aceeași interfață.
7. Concluzie despre moștenire
Moștenirea este un instrument puternic în PHP, care îți permite să extinzi clasele existente și să creezi cod reutilizabil. Aceasta îți permite să structurezi aplicații complexe eficient. Posibilitatea de a suprascrie metodele înseamnă că poți implementa comportamente specifice în clasele derivate, fără a fi nevoie să rescrii întreaga logică.
Rezumat - Programare orientată pe obiect cu PHP: Înțelegerea moștenirii
Tratarea moștenirii în PHP îți permite să menții un mod structurat de dezvoltare a software-ului tău. Poți concepe clase astfel încât acestea să se bazeze unele pe altele și să îți faciliteze munca.
Întrebări frecvente
Care este avantajul moștenirii în PHP?Moștenirea promovează reutilizarea codului și simplifică structura software-ului.
Cum pot suprascrie o metodă într-o clasă derivată?Folosește aceeași semnătură a metodei și, opțional, parent::numeleMetodei() pentru a utiliza metodele părinte.
Ce este polimorfismul?Polimorfismul se referă la capacitatea de a implementa aceeași metodă diferit, în funcție de instanța obiectului.
Ce se întâmplă dacă suprascriu mai multe metode?Fiecare metodă poate fi specifică pentru clasa derivată, ducând la comportamente diferite.
Există termeni alternativi pentru moștenire?Da, în literatura de specialitate se vorbește adesea și despre "derivare" sau "crearea de subclase".