100 likes | 236 Views
Model tříd. PVY – 2. pololetí 2. Cvičení. Bc. Jiří Šilhán. Model tříd. Model tříd zachycuje statickou strukturu systému tím, že ukazuje: Objekty v systému Vztahy mezi objekty Atributy a operace, charakterizující každou třídu objekt
E N D
Model tříd PVY – 2. pololetí 2. Cvičení Bc. Jiří Šilhán
Model tříd • Model tříd zachycuje statickou strukturu systému tím, že ukazuje: • Objekty v systému • Vztahy mezi objekty • Atributy a operace, charakterizující každou třídu objekt • Model tříd je nejdůležitější ze 3 modelů a poskytuje intuitivní grafickou reprezentaci systému
Objekty a třídy • Objekt – je předmět našeho zájmu v systému • Všechny objekty mají identitu a jsou rozlišitelné • Jeden objekt = výskyt (instance třídy) • Třída – objektů popisuje skupinu objektů s podobnými vlastnostmi (atributy), společným chováním (operace), stejnými vztahy k jiným objektům • Např: osoba, továrna, zvíře, pes… • Objekty a třídy se vyskytují jako podstatná jména
Objekty a třídy • Objekty v třídě sdílejí stejný významový cíl (nadřazeno požadavku stejných atributů a chování) • Např. stodola a kůň mají stejné atributy věk a cena – přesto mohou patřit do různých tříd • Seskupením objektů do tříd získáváme řadu předností • Např společné definice se ukládají pouze jednou za třídu namísto za každou instanci
Objektové diagramy Nástroj pro přesné a snadné vyjádření objektového modelu Diagram třídy: (obecné) Diagramy instance: (příklady pro objasnění) Osoba JanNovák: Osoba EvaMalá: Osoba
Atributy Atributy popisují datové vlastnosti objektů Atributy jsou popsány v druhé části symbolu třídy; od názvu třídy oddělené vodorovnou čarou Osoba EvaMalá:Osoba jméno: řetězec jméno=„Eva Malá“ věk: celé číslo věk= 43 Třída s atributy Objekt s hodnotami
Atributy Každý název atributu může být následován volitelnými detaily jako typ a počáteční hodnota Typ je oddělen dvojtečkou, nastavená hodnota je oddělena rovnítkem V objektovém modelu nejsou požadovány explicitní identifikátory objektu (každý objekt je identifikován svou vlastní identitou)
Operace a metody • Operace je funkce nebo transformace, která je prováděna objektem nebo na objektu ve třídě • Např. pro třídu SOUBOR platí operace TISK • Všechny objekty ve třídě sdílejí stejné operace • Každá operace má cílový objekt jako implicitní argument • Operace může mít argumenty • Metoda je implementace objektu na třídu
Operace a metody Když operace má metody na několika třídách, potom všechny metody mají stejnou signaturu, tj. počet a typ argumentů a typ výsledku Operace jsou uvedeny v dolní části symbolu pro třídu Osoba Polygon jméno barva poloha věk otoč(úhel) změnaAdresy přesuň (delta: Vektor) vyber (p: Bod): Boolean Každý název operace může být doplněn o seznam argumentů a typ výsledku
Celková notace třídy objektů Každý název operace může být doplněn o seznam argumentů a typ výsledku Název třídy atr1: typ dat1= poč hodn.1 Seznam argumentů se uvádí v závorkách za názvem, argumenty jsou odděleny čárkami atr2: typ dat2= poč hodn.2 oper1 (sezn. Argumentů1): výsledek1 Prázdný seznam argumentů mezi závorkami explicitně ukazuje, že operace nemá argumenty Typ výsledku předchází dvojtečka