9_interfejsi

  • Uploaded by: Nikola Nojic
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 9_interfejsi as PDF for free.

More details

  • Words: 575
  • Pages: 17
Loading documents preview...
INTERFEJSI i UGNEŽDENE KLASE Dr Nenad Jovanovid FTN, 2010. godina 1

Interfejsi    

Interfejs unapređuje koncept apstrakcije Interfejs je klasa bez realizacije Interfejs definiše tip u apstraktnom obliku Interfejs definiše imena metoda, argumente i povratne tipove, ali ne i implementaciju metode  Interfejs može da sadrži i polja, ali su ona definisana kao static i final. ________________________ © N. Jovanovid, 2010.

2

 Interfejsi ne mogu da prave primerke intefejsa  Klasa može da proširi svoj tip implementacijom interfejsa  Klasa može da implementira više intefejsa

________________________ © N. Jovanovid, 2010.

3

Deklarisanje interfejsa  Interfejs se deklariše korišdenjem ključne reči interface, davanjem imena interfejsu i navođenjem članova interfejsa između vitičastih zagrada  Ispred reči interface može da stoji i reč public, ako je dati interfejs definisan u datoteci sa istim imenom

________________________ © N. Jovanovid, 2010.

4

Članovi interfejsa  Interfejs može da ima tri vrste članova • Polja (konstante) • Metode • Ugnežđene klase i interfejse

 Svi članovi interfejsa su implicitno javni, ali se prema konvenciji modifikator public izostavlja

________________________ © N. Jovanovid, 2010.

5

Polja  Interfejs može da deklariše imenovane konstante  Ove konstante se definišu kao polja ali su implicitno public, static i final  Ova polja moraju da se inicijalizuju

________________________ © N. Jovanovid, 2010.

6

Metode  Metode deklarisane u interfejsu su implicitno abstaract i public  Iza zaglavlja metode navodi se tačka i zarez  Meteode ne mogu biti final, jer još nisu implementirane  Metode interfejsa ne mogu biti statičke

________________________ © N. Jovanovid, 2010.

7

Implementacija interfejsa  Klasa implementira interfejs navođenjem ključne reči implements i imena interfejsa nakon deklaracije klase: class Televizor implements Uredjaj{ // }

 Na taj način izgled klase Televizor određen je interfejsom Uredjaj, ali treba definisati šta de ta klasa da radi ________________________ © N. Jovanovid, 2010.

8

Primer

________________________ © N. Jovanovid, 2010.

9

Primer

________________________ © N. Jovanovid, 2010.

10

Višestruko nasleđivanje Žbun Biljke Drvo

Malina

Jabuka Voće

________________________ © N. Jovanovid, 2010.

11

Višestruko nasleđivanje  Kako interfejs nema realizaciju mogude je kombinovati više interfejsa  Ovakvo kombinovanje interfejsa naziva se višestruko nasleđivanje, jer u tom slučaju možemo za neki objekat da kažemo da je i tipa a i tipa b i tipa c...  Višestruko nasleđivanje pomodu interfejsa omogudava da se kombinuju ponašananja, ali realizaciju može da ima samo jedna klasa  Interfejsi omogudavaju svođenje naviše ka više prostih tipova ________________________ © N. Jovanovid, 2010.

12

Primer

________________________ © N. Jovanovid, 2010.

13

 Klasa Pas kombinuje klasu Zivotinja sa interfejsima MozeDatrci i MozeDaPliva  U klasi PasPrimer imamo tri metode čiji argumenti su različiti interfejsi konkretne klase ________________________ © N. Jovanovid, 2010.

14

 Kada se napravi objekat klase Pas, on može da se kao argument prosledi bilo kojoj od tih metoda, jer može da se svede naviše ka svakom od tih interfejsa

________________________ © N. Jovanovid, 2010.

15

Nasleđivanje interfejsa  Interfejsi mogu da se proširuju pomodu ključne reči extends  Interfejsi mogu da proširuju više drugih interfejsa interface Vampir extends OpasnoCudoviste, SmrtonosnoCudoviste{ … }

________________________ © N. Jovanovid, 2010.

16

Razlika između interfejsa i apstraktne klase  Interfejsi obezbeđuju jedan oblik višestrukog nasleđivanja jer je mogude implementirati više interfejsa, dok klasa može da nasledi samo jednu klasu  Apstraktna klasa može da ima delimičnu implementaciju, zaštidene delove, statičke metode itd., dok su interfejsi ograničeni samo na javne konstante i javne metode bez implementacije ________________________ © N. Jovanovid, 2010.

17

More Documents from "Nikola Nojic"

9_interfejsi
February 2021 0
2_klase I Objekti
February 2021 0
5 Niz Stek String
February 2021 0
3_kontrolne Strukture
February 2021 0
Html
February 2021 4