Interfejsi i enumi OOP1.5

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/21

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

22 Terms

1
New cards

Šta predstavlja interfejs u Javi i koja mu je osnovna svrha?

Interfejs predstavlja ugovor koji definiše skup metoda koje klasa mora da implementira. On omogućava standardizovanu interakciju između različitih klasa.

2
New cards

Kako se interfejsi ponašaju kao tipovi u Javi?

Interfejsi su referencijalni tipovi, pa promenljiva tipa interfejs može referencirati objekat bilo koje klase koja ga implementira.

3
New cards

Koje sve članove možemo naći unutar interfejsa?

U interfejsu možemo deklarisati konstante, zaglavlja metoda, default i statičke metode, kao i ugnježdene statičke tipove.

4
New cards

Koji su modifikatori implicitno prisutni u članovima interfejsa?

Sve metode su implicitno public i abstract, a promenljive public static final, dok su ugnježdene klase i interfejsi public static.

5
New cards

Može li jedna klasa implementirati više interfejsa?

Da, jedna klasa može implementirati više interfejsa i tada mora implementirati sve metode iz svih interfejsa.

6
New cards

Kako se ponašaju referencijalne promenljive interfejsa u odnosu na metode objekta?

Takve promenljive mogu koristiti samo metode definisane u interfejsu, čak i ako objekat sadrži više metoda.

7
New cards

Šta su default metode u interfejsima i kako se koriste?

Default metode imaju implementaciju unutar interfejsa i klasa koja ga implementira može ih koristiti ili redefinisati.

8
New cards

Šta se dešava ako dva interfejsa sadrže default metodu istog imena?

Klasa koja implementira oba interfejsa mora redefinisati tu metodu, jer u suprotnom dolazi do greške pri kompajliranju.

9
New cards

Kako se rešavaju kolizije između konstanti iz različitih interfejsa?

Kolizije između statičkih članova se rešavaju navođenjem punog imena interfejsa, čime se izbegava nejasnoća.

10
New cards

Da li interfejs može naslediti drugi interfejs?

Da, interfejs može naslediti jedan ili više drugih interfejsa i tako proširiti skup metoda koje nasleđena klasa mora implementirati.

11
New cards

Može li interfejs naslediti više drugih interfejsa?

Da, višestruko nasleđivanje interfejsa je dozvoljeno i koristi se za kombinovanje više funkcionalnosti.

12
New cards

Može li interfejs sadržati ugnježdene tipove?

Da, interfejs može sadržati ugnježdene statičke klase, interfejse i enum-e, koji se koriste kao pomoćne strukture.

13
New cards

Kako interfejs ugnježden u klasu može biti iskorišćen?

Interfejs ugnježden u klasu može biti implementiran u drugoj klasi, čime se omogućava precizna kontrola pristupa i logike.

14
New cards

Šta predstavlja princip inverzije kontrole kod korišćenja interfejsa?

Inverzija kontrole znači da korisnik klase određuje konkretno ponašanje tako što prosleđuje implementaciju interfejsa.

15
New cards

Kako interfejsi omogućavaju polimorfizam?

Kroz dinamičko vezivanje, metoda može da koristi različite implementacije interfejsa u zavisnosti od tipa prosleđenog objekta.

16
New cards

Šta je enum i kako se koristi u Javi?

Enum predstavlja tip koji sadrži ograničeni broj simboličkih konstanti i koristi se kada je vrednost promenljive unapred poznata.

17
New cards

Kako su se u Javi simulirali nabrojivi tipovi pre verzije 1.5?

Pre Jave 1.5 koristile su se celobrojne konstante definisane pomoću public static final, što je bilo manje bezbedno.

18
New cards

Kako izgleda sintaksa za definisanje enum tipa u Javi?

Enum se definiše pomoću ključne reči enum, a u telu se navode simboličke konstante odvojene zarezima.

19
New cards

Kako se vrednosti enum tipa koriste u kodu?

Vrednosti se koriste uz naziv tipa, kao npr. StatusVozila.SLOBODAN, osim u switch naredbi gde se koristi samo ime konstante.

20
New cards

Da li enum u Javi može imati atribute i metode?

Da, svaki enum je zapravo klasa i može sadržati atribute, metode, pa čak i konstruktore koji se pozivaju uz svaku konstantu.

21
New cards

Da li enum može implementirati interfejse i nasleđivati klase?

Enum može implementirati interfejse, ali ne može naslediti druge klase jer već implicitno nasleđuje java.lang.Enum.

22
New cards

Šta radi metoda values() kod enum tipova?

Metod values() vraća niz svih konstanti definisanih u okviru enum-a, što omogućava jednostavno iteriranje kroz njih.