Superclasă (informatică)
Superclasa este un termen folosit în programarea orientată pe obiecte pentru a indica o clasă generică, nu neapărat abstractă , care poate fi extinsă cu una sau mai multe subclase , sau clase copil, care reprezintă versiuni specializate ale acesteia. Funcționalitatea superclasei este moștenită de toate clasele de copii, care pot adăuga altele noi. Metodele publice sunt moștenite de subclasă, dar subclasa le poate modifica după cum este necesar; acest fenomen se numește primordial .
Exemplu de utilizare
Un exemplu de utilizare a unei superclase este o clasă Vehicle cu anumite metode și variabile, din care se extind diferite clase, cum ar fi Mașina sau Motocicleta . Acestea din urmă moștenesc variabilele și metodele vehiculului la care se adaugă variabilele și metodele proprii clasei. Modalitățile în care este reprezentată această legătură de moștenire variază în funcție de limba utilizată.
Java
Când programați în clasele copil Java, moșteniți metodele și variabilele superclasei. Dacă există metode sau atribute cu același nume și cu aceiași parametri în superclasă și în subclasă, metoda sau atributul subclasei îl înlocuiește pe cel al superclasei.
Exemplu
vehicul de clasă publică {
placă publică de corzi ;
public int deplasare;
vehicul public ( plăcuță de înmatriculare șir , deplasare int ) {
aceasta . placă = plate ;
aceasta . displacement = deplasare ;
}
public nul print () {
Sistem . afară . println ( "plăcuță de înmatriculare:" + plăcuță de înmatriculare ); // Imprim plăcuța de înmatriculare
Sistem . afară . println ( "deplasare:" + deplasare ); // Imprim deplasarea
}
}
public class Machine extinde Vehicle { // create subclass Machine
public int NumărPorturi ;
public Machine ( deplasare int , placă de șiruri , int numberPorts ) { // definește producătorul
super ( înmatriculare , deplasare ); // această afirmație trebuie să fie neapărat prima din constructor
// cu constructorul se trec valorile parametrilor primiți în intrare
aceasta . numberPorts = numărPorturi ; // Trec valoarea parametrului în variabila obiectului nou creat
}
public nul print () {
super . print (); // apelează metoda de imprimare a superclasei
Sistem . afară . println ( "număr port:" + număr port ); // imprimați numărul de uși
}
}
În acest exemplu, dacă print () ; pe baza suprasolicitării, rezultatul de pe ecran va include plăcuța de înmatriculare, deplasarea și numărul de uși.
Bibliografie
- Fabrizia Scorzoni, Computer Science Programming in Java , Turin, Loescher, 2009, ISBN 978-88-8433-030-7 .
Elemente conexe
linkuri externe
- Moștenirea și caracteristicile superclasei ( PDF ), pe DIIT . Adus pe 29 aprilie 2014 .