klasa (eng. class)

22

Upload: merry

Post on 11-Jan-2016

54 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Klasa (eng. Class)
Page 2: Klasa (eng. Class)

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.

Page 3: Klasa (eng. Class)

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

Page 4: Klasa (eng. Class)

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.

Page 5: Klasa (eng. Class)

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.

Page 6: Klasa (eng. Class)

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 #

Page 7: Klasa (eng. Class)

PrimeriPrivate: -atribut1Public: +atribut2Protected: #atribut3

-atribut1:String+atribut2:Boolean#atribut3:Integer

Page 8: Klasa (eng. Class)

Primer

Private: -operacija1Public: +operacija2Protected: #operacija3

Page 9: Klasa (eng. Class)

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.

Page 10: Klasa (eng. Class)

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.”

Page 11: Klasa (eng. Class)

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.”...

Page 12: Klasa (eng. Class)

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.

Page 13: Klasa (eng. Class)
Page 14: Klasa (eng. Class)

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

Page 15: Klasa (eng. Class)

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.

Page 16: Klasa (eng. Class)

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

Page 17: Klasa (eng. Class)

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.

Page 18: Klasa (eng. Class)

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.

Page 19: Klasa (eng. Class)

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.

Page 20: Klasa (eng. Class)

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.

Page 21: Klasa (eng. Class)
Page 22: Klasa (eng. Class)

UML dijagram klasa – sažetak notacije