Sunteți pe pagina 1din 12

Diagrame de clase

Atribute, metode, navigabilitate, vizibilitate Agregare, compozitie Mostenire Clase abstracte, interfete

Made by Anton DUCA

Vizibilitate/ specificatori de acces


Incapsulare datele membre sunt de tip privat, inaccesibile din exteriorul clasei Atributele/ metodele sunt in general publice/ private. Intr-o diagrama UML specificatorul precede atributul / metoda; + / - pentru public / privat
NumarComplex -real :double -imaginar :double +getModul():double +getFaza():int

Made by Anton DUCA

Navigabilitate
Nu trebuie sa se confunde (ca notatie) cu MOSTENIREA Intr-o asociere sageata indica directia de transmitere a mesajelor. Asocierea bidirectionala e permisa ca notatie dar in general sugereaza o proiectare precara

1 Circuit

creeaza si rezolva 1 1

Sistem rezolva()

Made by Anton DUCA

Agregare
Un obiect poate contine alte obiecte
Computer

1..*

SoundCard

1..*

VideoCard

1..*

CPU

Made by Anton DUCA

Compozitie
Concept asemanator cu agregarea. In cazul compozitiei, intregul nu poate exista fara partile componente

Circuit
2..*

Laturi

Made by Anton DUCA

Mostenire (1)
Mostenire concept care sprijina reutilizarea codului Clasa de la care se porneste se numeste clasa de baza (sau superclasa) Clasa creeata din clasa de baza se numeste clasa derivata (sau subclasa) Utilizarea excesiva a conceptului de mostenire poate duce la ierarhii complexe si dificile de inteles

Made by Anton DUCA

Mostenire (2)

NumarComplex real:double imaginar:double

Rezistenta

Bobina

Condensator

Sursa

Made by Anton DUCA

Specificatorul protected
Uneori o clasa derivata necesita acces la atribute/ metode dintr-o clasa de baza Daca atributele/ metodele din clasa de baza nu pot fi de tip public, solutia este specificatorul protected Un membru protejat este inaccesibil din exterior, cu o exceptie, in cazul claselor derivate Notatia pentru specificatorul protected este #

Made by Anton DUCA

Clase abstacte/ interfete


De multe ori intr-un design, este nevoie de metode abstracte (neimplementate) In UML clasele abstracte, interfetele, metodele neimplementate ale acestora se noteaza cu caractere italice
ICircuit <<interface>> +rezolva()

Circuit +rezolva()

Made by Anton DUCA

Electric

Made by Anton DUCA

Numeric

Made by Anton DUCA

Web

Made by Anton DUCA

S-ar putea să vă placă și