Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Generalizarea si specializarea - date obiect

baze de date



+ Font mai mare | - Font mai mic



Generalizarea si specializarea - date obiect

Generalizarea si specializarea sunt mecanisme care permit partajarea caracteristicilor comune intre clase, pastrand totodata diferentele dintre acestea. Generalizarea presupune identificarea atributelor si/sau operatiilor comune mai multor clase si izolarea lor in superclase. Specializarea claselor este opusa generalizarii si are ca punct de plecare o superclasa ce urmeaza a fi descompusa in subclase si la care se pot adauga noi atribute si/sau operatii relevante numai pentru anumite obiecte din acea clasa, creand astfel subclase de obiecte. Atributele si operatiile superclasei nu mai apar in cadrul subclaselor atasate ei, dar ele apartin acestora prin mostenire. In subclase se descriu numai atributele si/sau operatiile specifice fiecaruia dintre ele. Subclasa rafineaza, specializeaza clasa. Superclasele si subclasele se mai numesc parinti / copii sau stramosi / descendenti. In figura 7.24 se prezinta operatiile de generalizare si specializare.



Un alt exemplu extrem de sugestiv l-ar putea constitui multimea studentilor din cadrul unei universitati. Studentii ar putea fi priviti ca formand o singura colectivitate (clasa) la nivelul intregii universitati si apoi pe subcolectivitati (subclase) in functie de specializarea urmata (facultati si sectii), deci subclase, ca in figura 7.25.

STUDENTI-ASE apare ca o superclasa ce contine proprietatile si comportamentul comun tuturor studentilor, apoi la nivelul fiecarei subclase se precizeaza doar ceea ii specific fiecarei subclase si care permite diferentierea subclaselor.

Se poate deduce faptul ca pentru generalizare se pleaca de la niste clase deja existente, din care vor fi desprinse aspectele comune claselor, definind cu acestea o superclasa, iar specializarea presupune existenta unei singure clase din care vor fi desprinse specializari.

De remarcat faptul ca generalizarea se implementeaza prin relatia de mostenire insa in cadrul limbajelor de programare orientate obiect, ea capata un aspect mai abstract.

Avantajele utilizarii generalizarii sunt urmatoarele:

Reutilizarea codului - in proiectul in lucru pot fi folosite clase create in cadrul altor proiecte;

Standardizarea - aspectele comune sunt specificate o singura data;

Calitatea superioara - reutilizarea claselor create pentru alte proiecte presupune si faptul ca ele au fost testate deja in cadrul acelor proiecte.

Fig. 7.24. Generalizarea si specializarea

Fig. 7.25. Exemplu 2 de generalizare/specializare



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 970
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved