OOP1 - usmeni

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/39

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 9:21 AM on 9/30/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

40 Terms

1
New cards

Objekti i klase

Klasa je Ŕablon ili plan prema kome pravimo objekte. Ona definiŔe atribute (podatke) i metode (ponaŔanja). Objekat je konkretan primerak klase, tj. instanca. ViŔe objekata može nastati iz iste klase, svaki sa svojim vrednostima atributa.

2
New cards

Apstrakcija, enkapsulacija i sakrivanje informacija

Apstrakcija znači da od kompleksnog sistema izdvajamo samo ono Ŕto je važno za korisnika. Enkapsulacija podrazumeva spajanje podataka i metoda u jednu celinu (klasu). Skrivanje informacija znači da neke delove klase učinimo nedostupnim spolja (privatni članovi), a pristup im dajemo kroz metode.

3
New cards

Agregacija i kompozicija klasa

Agregacija označava vezu "ima" gde jedan objekat sadrži drugi, ali oba mogu postojati nezavisno (npr. univerzitet i studenti). Kompozicija je jača veza gde objekat ne može postojati bez onog drugog (npr. kuća i sobe).

4
New cards

Promenljive referencijalnog tipa, referenca this

Promenljive referencijalnog tipa čuvaju adresu objekta u memoriji, a ne sam objekat. Reč this je referenca na trenutni objekat i koristi se da jasno razlikujemo atribute objekta od parametara metode, ili da pozovemo konstruktor iste klase.

5
New cards

Konstruktori i operator new

Konstruktor je specijalna metoda koja se poziva kada pravimo novi objekat i služi za inicijalizaciju atributa. Operator new pravi prostor u memoriji za objekat i poziva konstruktor da ga podesi.

6
New cards

Statički atributi i metodi, singleton patern

Statički atributi i metodi pripadaju klasi, a ne pojedinačnim objektima. To znači da postoji samo jedna kopija statičkog člana za celu klasu. Singleton patern koristi statičke članove da bi osigurao da postoji tačno jedan objekat klase u programu, npr. za pristup bazi podataka.

7
New cards

Konstruktori i nasleđivanje

Kada klasa nasleđuje drugu, prvo se poziva konstruktor nadklase pa tek onda konstruktor podklase. Ako eksplicitno ne navedemo koji konstruktor nadklase da se pozove, automatski se poziva njen podrazumevani konstruktor.

8
New cards

Redefinisanje nasleđenih atributa i metoda

Nasleđeni atributi i metode mogu se redefinisati. Kada redefiniÅ”emo metodu, pravimo novu implementaciju u podklasi. Ako redefiniÅ”emo atribut, sakrivamo onaj iz nadklase, iako oba postoje u memoriji – ali pristupa im se u zavisnosti od tipa reference.

9
New cards

Nasleđivanje, Liskov princip supstitucije i dinamičko vezivanje

Liskov princip kaže da objekat podklase treba da se može koristiti svuda gde se koristi objekat nadklase, bez problema. Dinamičko vezivanje znači da se metoda koja se poziva određuje u vreme izvrÅ”avanja na osnovu stvarnog tipa objekta, a ne tipa reference.

10
New cards

instanceof operator i eksplicitne konverzije referenci

Operator instanceof proverava da li je objekat primerak neke klase ili njene podklase. Eksplicitna konverzija reference (cast) omogućava da promenljivu tipa nadklase tretiramo kao objekat podklase, ali je bezbedno koristiti tek ako instanceof potvrdi tip.

11
New cards

Klasa Object

Object je osnovna klasa iz koje nasleđuju sve druge klase u Javi. Ona obezbeđuje metode koje imaju svi objekti, kao Å”to su toString() za prikaz objekta kao teksta, equals() za poređenje, hashCode() za rad sa kolekcijama, i clone() za pravljenje kopije objekta.

12
New cards

Apstraktne klase

Apstraktna klasa je klasa koja ne može da se instancira direktno, već samo preko njenih podklasa. Može imati apstraktne metode (bez tela) koje podklase moraju da implementiraju, ali i obične metode i atribute.

13
New cards

Modifikatori vidljivosti

Modifikatori određuju pristup članovima klase:

  • public – svuda dostupan,

  • protected – vidljiv u istoj klasi, paketu i podklasama,

  • bez modifikatora (package-private) – dostupan samo unutar paketa,

  • private – dostupan samo u istoj klasi.


14
New cards

Inicijalizacija statičkih atributa klase

Statički atributi se inicijalizuju kada se klasa učita u memoriju, pre stvaranja bilo kog objekta. Mogu se inicijalizovati direktno pri deklaraciji ili unutar statičkog inicijalizacionog bloka.

15
New cards

Inicijalizacija nestatičkih atributa klase

Nestatički atributi se inicijalizuju prilikom pravljenja svakog novog objekta. To se može uraditi direktno u deklaraciji, u konstruktoru ili u inicijalizacionom bloku bez oznake static.

16
New cards

Ugnježdene statičke klase

Statička ugnježdena klasa definiÅ”e se unutar druge klase i označava se sa static. Ona nema pristup nestatičkim atributima spoljne klase, već samo statičkim. NajčeŔće se koristi kada klasa ima smisla samo u okviru druge klase, ali nije vezana za njen objekat.

17
New cards

UnutraŔnje klase

UnutraÅ”nja klasa je definisana unutar druge klase bez oznake static. Ona ima pristup svim atributima i metodama spoljne klase, čak i privatnim. Za njeno koriŔćenje mora postojati instanca spoljne klase.

18
New cards

Lokalne i anonimne klase

Lokalne klase se definiÅ”u unutar metoda i dostupne su samo unutar tog metoda. Anonimne klase su bezimene i definiÅ”u se ā€žu letuā€œ kada želimo da napravimo jedinstvenu implementaciju interfejsa ili apstraktne klase, najčeŔće za događaje ili kratke zadatke.

19
New cards

Interfejsi

Interfejs je ugovor koji sadrži samo potpis metoda (i eventualno konstante). Klasa koja implementira interfejs mora da definiÅ”e sve njegove metode. Interfejsi omogućavaju viÅ”estruko ā€žnasleđivanjeā€œ ponaÅ”anja jer klasa može implementirati viÅ”e interfejsa.

20
New cards

Nasleđivanje interfejsa

Interfejs može nasleđivati drugi interfejs i tako preuzeti njegove metode. Klasa koja implementira novi interfejs automatski mora da implementira i metode svih njegovih roditeljskih interfejsa.

21
New cards

Nabrojivi tipovi (enumi)

Nabrojivi tip (enum) predstavlja skup unapred definisanih konstanti. Svaka vrednost enuma je zapravo objekat te enum klase. Enum može imati atribute, metode i konstruktore, Å”to ga čini moćnijim od običnih konstanti.

22
New cards

Klasa String, informativne metode

Klasa String ima metode koje daju informacije o tekstu, na primer: length() vraća dužinu, charAt(i) vraća znak na određenoj poziciji, indexOf() pronalazi prvi indeks podstringa, equals() poredi dva stringa. Ove metode ne menjaju sadržaj stringa.

23
New cards

Klasa String, transformativne metode

Transformativne metode vraćaju novi string kao rezultat. Na primer: toLowerCase() i toUpperCase() menjaju veličinu slova, trim() uklanja praznine sa krajeva, replace() menja znakove ili podstringove, substring() izdvaja deo stringa.

24
New cards

Regularni izrazi i transformativne metode klase String

Regularni izrazi omogućavaju napredno pretraživanje i zamenu teksta. Metode poput matches(), split(), i replaceAll() koriste regularne izraze da provere da li string zadovoljava obrazac, podele string ili zamene delove stringa.

25
New cards

Klasa StringBuilder

StringBuilder je klasa za rad sa promenljivim tekstom. Za razliku od String, njegov sadržaj se može menjati bez pravljenja novih objekata. Omogućava efikasne operacije dodavanja (append()), brisanja (delete()), umetanja (insert()) i obrtanja teksta (reverse()).

26
New cards

Izuzeci i vrste izuzetaka

Izuzeci su posebni objekti koji označavaju greÅ”ke ili nepredviđene situacije u programu. Dve glavne vrste su: checked (moraju se obraditi ili deklarisati, npr. IOException) i unchecked (runtime izuzeci, npr. NullPointerException). Postoji i posebna klasa Error za ozbiljne greÅ”ke koje program ne može kontrolisati.

27
New cards

Obrada i prosleđivaje izuzetaka

Izuzeci se obrađuju pomoću try-catch-finally bloka. Ako se izuzetak ne obradi u metodi gde nastaje, on se prosleđuje (propagira) metodama koje su je pozvale. Tako program može da se zaustavi ili da viÅ”i nivo preuzme kontrolu.

28
New cards

Generisanje i definisanje izuzetaka

Izuzetak se generiÅ”e naredbom throw new ExceptionType(). Definisanje izuzetka podrazumeva kreiranje nove klase koja nasleđuje Exception ili RuntimeException, čime pravimo svoje specifične tipove greÅ”aka.

29
New cards

Brojač linija tekstualnog fajla

Program za brojanje linija otvara fajl pomoću klasa poput BufferedReader, čita liniju po liniju i za svaku uvećava brojač. Na kraju vraća ukupan broj linija.

30
New cards

Kopiranje tekstualnog fajla

Kopiranje se radi tako Å”to se fajl otvori za čitanje i pisanje. Linije se čitaju iz izvornog fajla i odmah upisuju u novi fajl, obično uz pomoć BufferedReader i BufferedWriter.

31
New cards

Balansirane zagrade

Problem balansiranih zagrada proverava da li svaka otvorena zagrada ima odgovarajuću zatvorenu i da li su pravilno ugnježdene. NajčeŔće se reÅ”ava pomoću steka: pri susretu sa otvorenom zagradom dodajemo je na stek, a pri susretu sa zatvorenom skidamo odgovarajuću. Ako na kraju stek nije prazan, zagrade nisu balansirane.

32
New cards

Paketi i jedinice prevođenja

Paket je skup klasa i interfejsa koji čine logičku celinu i olakÅ”avaju organizaciju koda. Jedinica prevođenja je jedan .java fajl koji sadrži definicije klasa ili interfejsa, zajedno sa deklaracijom paketa i import naredbama.

33
New cards

Definicija jedinice prevođenja

Jedinica prevođenja je osnovna datoteka u Javi koja ima ekstenziju .java. U njoj može postojati najviÅ”e jedna javna klasa, a ime fajla mora da odgovara imenu te klase.

34
New cards

Imenovanje i dizajn paketa

Po konvenciji, imena paketa piŔu se malim slovima i prate strukturu domena organizacije unazad, npr. rs.uns.ac.rs.projekat. Dobro osmiŔljen dizajn paketa podrazumeva visoku povezanost unutar paketa i nisku zavisnost od drugih paketa.

35
New cards

Struktura JavaFX aplikacije, tipovi okana

JavaFX aplikacija nasleđuje klasu Application i mora redefinisati metodu start(Stage primaryStage). Osnovno okno (Stage) predstavlja glavni prozor aplikacije, dok scene (Scene) određuju raspored elemenata. Postoje različita rasporedna okna (Pane, BorderPane, GridPane, HBox, VBox) za organizaciju grafičkih komponenti.

36
New cards

Tipovi i obrada događaja

U JavaFX-u događaji su akcije koje korisnik ili sistem pokreću, kao Å”to su klik miÅ”em ili pritisak tastera. Obrada događaja se radi tako Å”to se komponenti dodeli ā€žosluÅ”kivaÄā€ (event handler), koji je objekat klase ili lambda izraz koji implementira interfejs EventHandler.

37
New cards

Interfejsi Collection i Map

Collection je osnovni interfejs za rad sa grupama objekata i obuhvata skupove, liste i redove. Map čuva parove kljuÄā€“vrednost i omogućava brzo pronalaženje vrednosti na osnovu ključa. Ova dva interfejsa čine osnovu Java kolekcija.

38
New cards

Skupovi – interfejsi i klase

Skup (Set) je kolekcija koja ne dozvoljava duplikate. NajčeŔće implementacije su HashSet (brz, bez poretka), LinkedHashSet (pamti redosled ubacivanja) i TreeSet (čuva elemente sortirane).

39
New cards

Liste – interfejsi i klase

Lista (List) je kolekcija koja čuva elemente u određenom redosledu i dozvoljava duplikate. NajčeŔće implementacije su ArrayList (efikasna za pristup po indeksu) i LinkedList (efikasna za dodavanje i brisanje elemenata).

40
New cards

Mape – interfejsi i klase

Mapa (Map) čuva podatke u vidu parova kljuÄā€“vrednost, gde je ključ jedinstven. NajčeŔće implementacije su HashMap (brza pretraga, bez poretka), LinkedHashMap (pamti redosled umetanja) i TreeMap (sortira ključeve).