Дијаграми класа

Неке ствари је много лакше схватити ако се нацртају. Из тог разлога је настао и језик за моделовање UML (unified modeling language).
Графичко представљање класа се врши на следећи начин: најпре се наводи име класе,затим њене особине и на крају методе. Наравно због различитих потреба могуће је и мењати количину приказаних информација.

Ознака + испред имена члана класе (важи и за податке (особине) и за методе) означава јавне чланове, – означава приватне чланове. Ако класа има пријатељске функције, оне се могу навести у дијаграму класе са ознаком f испред имена функције. За податке могу се навести само имена или комплетне декларације. За методе се може навести само име или декларација (заглавље функције – име функције праћено декларацијом параметара функције)

Пример:

Креираћемо класу датум који ће имати особине дан, месец и година који ће бити приватни и методе којима можемо да мењамо те податке.

class Datum
{
int dan;
int mesec; int godina;
public:
void Dan(int d);
void Mesec(int m);void Godina(int g);
};

 

У првом дијаграму видимо наведена само имена података и метода, са означеним правима приступа. У другом дијаграму видимо декларације података и метода, са означеним правима приступа.

Из овог примера се види да можемо веома лако визуално да прикажемо сваку класу. UML нам омогућава и да графички прикажемо зависности између различитих класа, као и још многе друге ствари, али је можда најважнија она да можемо да генеришемо програмски код из оваквог представљања података.

 Односи међу класама

  • асоцијација – подразумева да међу пољима једне класе постоји поље које на неки начин повезује ОБЈЕКАТ једне класе са ОБЈЕКТОМ друге класе. Најчешће се исказује показивачем. У дијаграму се обележава стрелицом, која може бити двосмерна ако између објеката датих класа постоји двосмерна веза:
  • агрегација– ако је однос међу класама као однос између склопа и делова при чему делови могу постојати и независно од склопа. Пример: круг и тачка, да би се дефинисао круг потребно је дефинисату тачку центра кружнице, али објекти класе тачка могу постојати и независно од класе круг.
  • композиција– ако је однос међу класам као однос између склопа и делова, али делови не могу постојати независно од склопа
  • зависност– није могуће на основу поља класа закључити какав однос постоји међу њима. То се дешава када се објекти једне класе користе као параметри метода друге класе. Увек је једносмеран однос.

На крајевима линија могу се навести параметри који поближе одређују однос међу класама: име поља које учествује у вези, број објеката са којима је објекат једне класе у вези:

1 – тачно један,
0..1 – нула или један,
0..*, 0..n – нула или више,
1..*, 1..n – један или више,
x – тачно x, где је x целобројна константа,
x..y – од x до y где су x и y целобројне константе

Пример:

class Alfa {};
class Beta {Alfa a;};
class Gama; //deklaracija klase Gama, da bi mogla
// da se koristi u klasi Delta
class Delta {Gama *g;void m(Alfa &);};
class Gama {Delta *d;}; //definicija klase Gama
class Eta {Alfa a[5];Beta *b;};

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s