Documente Academic
Documente Profesional
Documente Cultură
Laborator5 PDF
Laborator5 PDF
Clasa Bird este o clasa abstracta care modeleaza conceptul de pasare. Din ea sunt
derivate doua clase concrete si anume Goose (gasca) si Penguin (pinguin).
Pentru gestionarea migratiei pasarilor se foloseste o clasa separata numita BirdControler.
Aceasta clasa pune la dispozitie o metoda pentru realizarea migrarii denumita reLocate().
Problema rezida in a realiza corect deplasarea. In acest sens Gasca poate implementa
move() prin apelulul metodei proprii zboara(). Analog, Pinguinul poate implementa
move() prin apelulul metodei proprii inoata(). In momentul cand este apelata metoda
reLocate() din BirdControler, aceasta va invoca corect metodele move() din
subclasele clasei Bird. Rezultatul este ca pinguinul va inota iar gasca va zbura
pentru a realiza migrarea, chiar daca clasa BirdControler pastreaza referinte doar
spre clasa Bird.
2
procesul
de
migratie
nu
mai
trebuie
retestat.
}
}
O metoda dintr-o clasa parinte poate fi suprascrisa (overrided) de o metoda din clasa
derivata daca:
1) Au acelasi nume
2) Au acelasi numar si tip de argumente
3) Au acelasi tip returnat
4) Drepturile de acces nu sunt mai restranse
O metoda nu poate fi suprascrisa decat o data intr-o clasa.