280 likes | 505 Views
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.
E N D
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 • Atribut 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.
Metoda • Metoda 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 #
Primeri • Private: -atribut1 • Public: +atribut2 • Protected: #atribut3 • -atribut1:String • +atribut2:Boolean • #atribut3:Integer
Primer • Private: -operacija1 • Public: +operacija2 • Protected: #operacija3
KLASE – ŠTA RADE I KAKO IH NAĆI • U vašem razgovoru sa klijentima, obratite pažnju naimenice 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 ćeoni stvarati metode unutar klasa. Atributi će izaći kaoimenice koje su u vezi sa imenicama koje određujuklasu.
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 povezanostidve klase: • Da li promene u jednoj klasi utiču na promene u drugoj klasi • Ako se klasa “izbaci” iz sistema, da li to direktno utiče na druguklasu • Da li je klasa u interakciji preko velikog skupa poruka
Asocijacija - Pridruživanje • Veza 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.
Mnogostrukost • Mnogostrukost asocijacije određuje broj primeraka jedne klase u odnosu na drugu klasu
Agregacija, gomilanje • Jači oblik pridruživanja koje označava povezanost celine sa nekim njenimdelom. • Npr. putovanje vozom se sastoji od niza putovanjaizmeđu stanica. • Prodavnica agregira više odeljenja, tj. prodavnica se sastoji od odeljenja.
Generalizacija • Veza 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) Definicija • Dijagram 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. Semantika • Dijagram 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) Notacija • Dijagram 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.