Moștenire în Java
Moștenirea în Java este un mecanism în care un obiect dobândește toate proprietățile și
comportamentele unui
obiect părinte. Este o parte importantă a OOP-ului.
Ideea din spatele moștenirii în Java este că puteți crea noi clase care sunt construite pe baza claselor
existente. Când moștenești dintr-o clasă existentă, poți reutiliza metodele și câmpurile clasei părinte. Mai
mult, puteți adăuga noi metode și câmpuri în clasa curentă.
Moștenirea reprezintă relația IS-A, cunoscută și sub numele de relație părinte-copil.
De ce să folosești moștenirea în java?
- Pentru Metoda Overriding (deci se poate realiza polimorfismul în timpul rulării).
- Pentru reutilizarea codului.
Termeni folosiți în Moștenire
- Clasa: O clasă este un grup de obiecte care au proprietăți comune. Este un șablon sau plan din care sunt create obiecte.
- Subclasă / Clasă copil:Subclasa este o clasă care moștenește cealaltă clasă. Se mai numește o clasă derivată, clasă extinsă sau clasă copil.
- Super Class / Parent Class:Superclasa este clasa din care o subclasă moștenește caracteristicile. Se mai numește o clasă de bază sau o clasă părinte.
- Reutilizare:După cum specifică și numele, reutilizarea este un mecanism care vă facilitează reutilizarea câmpurilor și metodelor clasei existente atunci când creați o nouă clasă. Puteți utiliza aceleași câmpuri și metode deja definite în clasa anterioară.
Sintaxa moștenirii Java
class Subclasa extends Superclasa {
//metode si atribute
}
Cuvântul cheie "extends" indică faptul că creați o nouă clasă care derivă dintr-o clasă existentă. Înțelesul "extinde" este de a spori funcționalitatea. În terminologia Java, o clasă care este moștenită se numește părinte sau superclasă, iar noua clasă se numește copil sau subclasă.
Exemple
După cum se arată în figura de mai sus, Programatorul este subclasa, iar Angajatul este superclasa. Relația dintre cele două clase este Programator ESTE UN Angajat . Înseamnă că Programatorul este un tip de Angajat.
Programator.java
public class Angajat{
float salariu = 40000;
}
public class Programator extends Angajat
{
float bonus = 10000;
public static void main(String args[]){
Programator p = new Programator();
System.out.println("Salariul programatorului
este: " + p.salariu);
System.out.println("Bonusul programatorului
este: " + p.bonus);
}
}
Afișare:
Salariul programatorului este: 40000
Bonusul programatorului este: 10000
În exemplul de mai sus, obiectul Programator poate accesa câmpul clasei proprii, precum și al clasei Angajat, adică reutilizarea codului.
Tipuri de moștenire în java
Pe baza clasei, pot exista trei tipuri de moștenire în java: unic, multinivel și ierarhic.
În programarea Java, moștenirea multiplă și hibridă este acceptată numai prin interfață. Vom afla despre
interfețe mai târziu.
Când o clasă moștenește mai multe clase, este cunoscută sub numele de moștenire multiplă. De exemplu: