klasa (eng. class)
DESCRIPTION
Klasa (eng. Class). Definicija : Klasa je nacrt ili prototip koji definiše varijable i metode zajedničke svim objektima određene vrste (tipa). Kolekcija objekata koji imaju sličnu strukturu, ponašanje i veze. Ime klase. Struktura klase - atributi. Ponašanje klase - metode. Atribut. - PowerPoint PPT PresentationTRANSCRIPT
Klasa (eng. Class)Definicija:
Klasa je nacrt ili prototip koji definiše varijable i metode zajedničke svim objektima određene vrste (tipa).
Kolekcija objekata koji imaju sličnu strukturu, ponašanje i veze.
Korisnik
+ID -korisnickoIme -lozinka #ime #prezime #email
+getID() -getKorisnickoIme() -getLozinka() #getIme() #getPrezime() #getEmail() -dodaj() -promeni() -briši()
Struktura klase - atributi
Ponašanje klase - metode
Ime klase
AtributAtribut je svojstvo klase. Opisuje opseg
vrednosti tog svojstva klase. Klasa može imati nula ili više atributa.
Naziv atributa se sastoji od jedne reči napisane malim slovima. Ako se naziv atributa sastoji od više reči te reči su spojene i svaka reč osim prve počinje sa velikim slovom.
MetodaMetoda je nešto što klasa može raditi ili što vi
(ili druga klasa) možete raditi toj klasi.Za naziv metode važe pravila kao i za naziv
atributa.Kao što možete odrediti dodatnu informaciju za
atribute, možete to napraviti i za metode. U zagradama koje slede iza naziva metode možete navesti parametre sa kojima metoda radi kao i tip parametara. Jedna vrsta metode, funkcija, vraća vrednost nakon što završi sa radom.
Atributi i metode mogu se označiti na sledeći način:
Privatna – nije vidljiva izvan klase -Javna – vidljiva je svima +Zaštićena – vidljiva je samo podklasama
određene klase #
PrimeriPrivate: -atribut1Public: +atribut2Protected: #atribut3
-atribut1:String+atribut2:Boolean#atribut3:Integer
Primer
Private: -operacija1Public: +operacija2Protected: #operacija3
KLASE – ŠTA RADE I KAKO IH NAĆIU vašem razgovoru sa klijentima, obratite
pažnju na imenice koje koriste da bi opisali entitete u svom poslu. Te imenice će biti klase u vašem modelu.
Takođe obratite pažnju na glagole koje čujete jer će oni stvarati metode unutar klasa. Atributi će izaći kao imenice koje su u vezi sa imenicama koje određuju klasu.
Pretpostavimo da ste vi analitičar koji gradi model za košarku, i intervjuišete trenera u cilju da shvatite igru.
Analitičar: “Treneru, u čemu je cilj košarke?”Trener: “Cilj igre je da ubacite loptu u koš i da postignete
više bodova od vašeg protivnika. Svaki tim se sastoji od 5 igrača: dva odbrambena, dva napadača i centar. Svaki tim krene u napad sa krajnjim ciljem da pogodi koš.”
Analitičar: “Kako oni vode napad?”Trener: “Driblanjem i dodavanjem. Tim mora pucati pre nego
što istekne vreme za napad.”Analitičar: “Vreme za napad?”Trener: “Da. To je 24 sekunde. Nakon toga druga ekipa
dobija loptu.”
Analitičar: “Kako se broje bodovi?” Trener: “Svaki koš se broji kao dva boda, osim ako nije gađano sa linije za
tri boda. U tom slučaju, koš se broji kao tri boda. Slobodno bacanje se broji kao jedan bod. Usput, slobodno bacanje je kazna za tim koji je načinio prekršaj. Ako igrač “faulira” protivnika, igra se zaustavlja i protivnik ima pravo na slobodna bacanja.”
Analitičar: “Recite mi malo više što svaki igrač radi.” Trener: “Odrambeni uglavnom izvode većinu driblanja i dodavanja.
Najčešće su niži od napadača, a napadači niži od centra. Svi igrači moraju biti sposobni driblati, dodavati, pucati i braniti. Napadači većinu puta pucaju, dok centar stoji blizu koša i puca iz veće blizine. ”
Analitičar: “Kakve su dimenzije terena? Koliko dugo traje igra?” Trener: “U internacionalnim utakmicama teren je dug 28 i 15 metara
širok. Koš je 3,4 m iznad poda. U Americi igra traje 48 minuta i podeljena je na četvrtine po 12 minuta.U univerzitetskoj i internacionalnoj košarci igra traje 40 minuta podeljena na dva dela po 20 minuta. Sat pokazuje koliko je vremena ostalo.”...
Ovo bi moglo trajati i trajati, ali urađićemo presek da vidimo što smo saznali.
Evo imenica koje smo saznali: lopta, koš, tim, igrači, odbrana, napadači, centar, trojka,
slobodno bacanje, faul, linija slobodnog bacanja, teren.Evo i glagola:pucanje, vođenje napada, driblanje, dodavanje, fauliranje.Imamo i neke dodatne informacije o nekim imenicama relativna visina igrača na svakoj poziciji, dimenzije terena,
koliko traje napad, trajanje utakmice.Naravno i mi sami bi se mogli setiti nekih atributa:Npr. lopta ima svoj volumen, promer.
Veze (eng. Relationships)Asocijacija - Pridruživanje (eng. association)Agregacija, gomilanje (eng. aggregation)Zavisnost (eng. dependency)Generalizacija (eng. generalization, inheritance)
Neki od kriterijuma za određivanje funkcionalne povezanosti dve klase:
Da li promene u jednoj klasi utiču na promene u drugoj klasiAko se klasa “izbaci” iz sistema, da li to direktno utiče na
drugu klasuDa li je klasa u interakciji preko velikog skupa poruka
Asocijacija - PridruživanjeVeza između dve klase koja opisuje njihov statički
odnos.Ona kaže da jedan objekt ima za atribut primerak
drugog ili su ti objekti povezani u smislu posedovanja (ali ne i odnosa sastojati se od).
Npr. prodavac je vezan pridruživanjem sa svojim kupcima, ali prodavac se ne sastoji od kupaca.
MnogostrukostMnogostrukost asocijacije određuje broj
primeraka jedne klase u odnosu na drugu klasu
Nije određeno Višestruko 2, 4..6 Određeno 4..6 Nula ili jedan 0..1 Jedan ili više 1..* Nula ili više 0..* Tačno jedan 1
Agregacija, gomilanjeJači oblik pridruživanja koje označava
povezanost celine sa nekim njenim delom.Npr. putovanje vozom se sastoji od niza
putovanja između stanica.Prodavnica agregira više odeljenja, tj.
prodavnica se sastoji od odeljenja.
GeneralizacijaVeza između nadklase i njenih podklasa.
Opisuje hijerarhijski odnos među klasama. Klase mogu naslediti atribute i ponašanje od nadklasa koje mogu biti podklase drugih klasa.
Dijagram klasa (eng. Class Diagram)DefinicijaDijagram klase opisuje statičku strukturu sistema
(modela) i daje pregled sistema pokazujući njegove klase i odnose među tim klasama.
Dijagram klasa je statički prikaz – on pokazuje šta uzajamno deluje, ali ne pokazuje što se događa tokom tog uzajamnog delovanja.
SemantikaDijagram klase je grafički prikaz statičke strukture
sistema.Dijagram klasa pokazuje egzistenciju klasa i njihovih
relacija u logičkom dizajnu sistema.
Dijagram klasa (eng. Class Diagram)NotacijaDijagram klasa može reprezentirati sve ili samo
neke klase strukture sistema. Njime se oslikavaju moguća stanja sistema. Strukturno, dijagram klasa je kolekcija statičnih elemenata sistema, kao što su:paketi koji organiziraju klase i relacije u
posebne jedinice,klase kao uzorci izgradnje objekata,njihove međusobne relacije i povezanosti koje
mogu biti asocijacija, zavisnost i generalizacija.
UML dijagram klasa – sažetak notacije