Sučelje je referentni tip koji se koristi za provedbu ugovora s klasom. Ugovor se odnosi na obvezu primjene metoda koje sučelje definira.
Sučelja pružaju apstrakciju između metoda koje definiraju i načina na koji ih korisnik implementira u klasu. Praktična uporaba ovoga je u API -ima (Application Programming Interfaces).
API -ji omogućuju vašem programu komunikaciju s drugim programima bez znanja o njihovoj implementaciji. To je važno iz vlasničkih razloga (za tvrtku koja posjeduje prava) i zbog vašeg lakog razvoja.
Pogledajmo kako koristiti Java sučelja.
Definiranje sučelja
Za deklariranje sučelja postavite ključnu riječ sučelje prije naziva sučelja.
sučelje Car {
// konstantne deklaracije, ako ih ima
int gume = 4;
// potpisi metode
int svjetla (int svjetlina);
int turn (int gume, smjer niza) {
// neki kod
}
}
U zaglavlje sučelja možete unijeti i njegovu razinu vidljivosti prije ključne riječi sučelje.
Vrijednosti u sučelju su konstantne. Ove su vrijednosti zadane javno, statično i konačan
. Stoga nema potrebe koristiti ove ključne riječi prilikom deklariranja vrijednosti u tijelu sučelja.Povezano: Kako upravljati promjenjivim opsegom u Javi
Tijelo sučelja također može imati zadano, apstraktno, statično metodama. Ove su metode zadane javnost, tako da nema potrebe naznačavati ove modifikatore pristupa prilikom njihovog deklariranja.
Apstraktne se metode deklariraju izostavljanjem uvrnutih zagrada tijela tijela. Vidite redak 7 u gornjem kodu. Statičke metode se deklariraju nastavljanjem naziva metode s ključnom riječi statički & zadane metode deklarirane su s zadano modifikator.
Sada bi bilo dobro vrijeme spomenuti da morate koristiti metode deklarirane na sučelju u svim klasama koje ga implementiraju. Ako to ne učini, prevoditelj će "provesti ugovor" dajući grešku pri sastavljanju.
Ovo posebno svojstvo sučelja može imati neke nedostatke. Razmotrimo slučaj u kojem davatelj programskog sučelja za programiranje aplikacija (API) odluči dodati više metoda svojim sučeljima, ali se nekoliko aplikacija temelji na starim sučeljima. Programeri koji koriste stara sučelja u svojim programima morali bi prepisati svoj kôd, što nije praktično.
Dakle, tu je mjesto zadano dolaze metode. Oni pružateljima API -ja omogućuju dodavanje više metoda u njihova sučelja, osiguravajući pritom binarnu kompatibilnost sa starijim verzijama sučelja.
default int getDirection (koordinate niza) {
// napisati neki kôd za zadanu implementaciju
}
Gornja metoda pokazuje kako se zadana metoda naziva getDirection se proglašava. Primijetite da prilikom pisanja morate uključiti implementaciju zadane metode.
Korištenje sučelja
Sada smo definirali sučelja u Javi, možemo prijeći na način na koji ih možete implementirati. To ćete saznati u donjem odjeljku.
Implementacija sučelja
Za implementaciju sučelja upotrijebite ključnu riječ oruđa koristeći ovu sintaksu:
klasa A implementira sučelje P {
}
Upamtite da morate koristiti sve metode sučelja u klasi. Ovo pravilo možete zanemariti samo ako je jedna od metoda definirana kao zadano u sučelju.
Povezano: Uvod u korištenje povezanih popisa u Javi
Ako želite da vaša klasa implementira više sučelja, možete ih odvojiti zarezima u deklaraciji zaglavlja.
Primjer:
klasa A implementira sučelje P, Q, R {
}
Ako je klasa koja implementira sučelje podklasa, upotrijebite donju sintaksu:
klasa A proširuje B implementira C, D {
}
Sučelja omogućuju više nasljeđivanja u Javi. Uobičajeno, klasa može proširiti samo jednu klasu (jedno nasljeđivanje). Sučelja su jedini način na koji Java može izvršiti više nasljeđivanja.
Sučelja također mogu proširiti druga sučelja, baš kao što klasa može proširiti drugu klasu. Podređeno sučelje nasljeđuje metode sučelja koje proširuje.
Pogledajte primjer ispod:
sučelje A proširuje B {
}
Osim korištenja zadanih metoda za izmjenu sučelja bez potrebe od programera da mijenjaju svoje trenutne programe, možete proširiti i postojeća sučelja.
Sada imate osnovno znanje o Java sučeljima
Sučelja u Javi pokazuju apstrakciju, jedan od četiri stupa objektno orijentiranog programiranja. Polimorfizam je jedan od ta četiri stupa. Odnosi se na sposobnost metode da poprimi mnoge oblike.
Polimorfizam u Javi možete implementirati preopterećenjem metoda ili nadjačavanjem metode. Sljedeće na vašem popisu za čitanje Jave trebalo bi biti kako implementirati ove funkcije.
Smanjite kod koji pišete metodom preopterećenja i nadjačavanja.
Pročitajte Dalje
- Programiranje
- Java
- Programski jezici
- Programiranje
Jerome je osobni pisac na MakeUseOfu. On pokriva članke o programiranju i Linuxu. On je također entuzijast za kripto i uvijek prati kripto industriju.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu