Rozhranie je referenčný typ, ktorý sa používa na vynútenie zmluvy s triedou. Zmluva odkazuje na povinnosť implementovať metódy, ktoré rozhranie definuje.
Rozhrania poskytujú abstrakciu medzi metódami, ktoré definujú, a tým, ako ich používateľ implementuje v triede. Praktický prípad použitia je v API (Application Programming Interfaces).
Rozhrania API umožňujú vášmu programu komunikovať s inými programami bez toho, aby vedeli, ako sú implementované. Je to dôležité tak z dôvodov vlastníctva (pre spoločnosť, ktorá vlastní práva), ako aj pre ľahký vývoj z vašej strany.
Pozrime sa, ako používať rozhrania Java.
Definovanie rozhraní
Ak chcete deklarovať rozhranie, zadajte kľúčové slovo rozhranie pred názvom rozhrania.
rozhranie auto {
// konštantné vyhlásenia, ak nejaké existujú
vnútorné pneumatiky = 4;
// podpisy metódy
int svetlá (vnútorný jas);
int turn (int pneumatiky, smer struny) {
// nejaký kód
}
}
Do hlavičky rozhrania môžete zahrnúť aj jeho úroveň viditeľnosti pred kľúčovým slovom rozhranie.
Hodnoty v rozhraní sú konštantné. Tieto hodnoty sú predvolené verejné, statické a finálny. Pri deklarovaní hodnôt v tele rozhrania preto nie je potrebné používať tieto kľúčové slová.
Súvisiace: Ako spravovať rozsah premenných v Jave
Telo rozhrania môže mať tiež predvolené, abstraktné, statické metódy. Tieto metódy sú predvolené verejná, takže pri ich deklarovaní nie je potrebné tieto modifikátory prístupu označovať.
Abstraktné metódy sú deklarované vynechaním zložených zátvoriek v tele metódy. Pozri riadok 7 v kóde uvedenom vyššie. Statické metódy sa deklarujú tak, že za názvom metódy zadáte kľúčové slovo statický & Predvolené metódy sú deklarované pomocou predvolené modifikátor.
Teraz by bolo vhodné spomenúť, že musíte použiť metódy deklarované v rozhraní v akýchkoľvek triedach, ktoré ho implementujú. Ak tak neurobí, kompilátor „vynúti zmluvu“ zadaním chyby pri kompilácii.
Táto konkrétna vlastnosť rozhraní môže mať určité nevýhody. Zvážte prípad, keď sa poskytovateľ rozhrania API (Application Programming Interface) rozhodne pridať do svojich rozhraní ďalšie metódy, ale niekoľko aplikácií je založených na starých rozhraniach. Vývojári, ktorí vo svojich programoch používajú staré rozhrania, by museli prepísať svoj kód, čo nie je praktické.
Tak to je kde predvolené metódy prichádzajú. Umožňujú poskytovateľom API pridávať do svojich rozhraní ďalšie metódy a zároveň zaisťovať binárnu kompatibilitu so staršími verziami rozhraní.
predvolené int getDirection (súradnice reťazca) {
// napíšte nejaký kód, ktorý poskytne predvolenú implementáciu
}
Vyššie uvedená metóda ukazuje, ako sa nazýva predvolená metóda getDirection je vyhlásený. Všimnite si toho, že pri jeho písaní musíte zahrnúť implementáciu predvolenej metódy.
Používanie rozhraní
Teraz sme definovali rozhrania v Jave a môžeme pristúpiť k tomu, ako ich môžete implementovať. To zistíte v nižšie uvedenej sekcii.
Implementácia rozhraní
Na implementáciu rozhrania použite kľúčové slovo vykonáva pomocou tejto syntaxe:
trieda A implementuje rozhranie P {
}
Nezabudnite, že musíte použiť všetky metódy rozhrania v triede. Toto pravidlo môžete ignorovať, iba ak je jedna z metód definovaná ako predvolené v rozhraní.
Súvisiace: Úvod do používania prepojených zoznamov v Jave
Ak chcete, aby vaša trieda implementovala viacero rozhraní, môžete ich oddeliť čiarkami v deklarácii hlavičky.
Príklad:
trieda A implementuje rozhranie P, Q, R {
}
Ak je trieda, ktorá implementuje rozhranie, podtriedou, použite nižšie uvedenú syntax:
trieda A rozširuje nástroje B C, D {
}
Rozhrania umožňujú viacnásobnú dedičnosť v Jave. Trieda môže spravidla rozšíriť iba jednu triedu (jedno dedičstvo). Rozhrania sú jediným spôsobom, akým môže Java vykonávať viacnásobnú dedičnosť.
Rozhrania môžu tiež rozširovať ďalšie rozhrania, rovnako ako trieda môže rozširovať inú triedu. Podradené rozhranie dedí metódy rozhrania, ktoré rozširuje.
Pozrite sa na príklad nižšie:
rozhranie A rozširuje B {
}
Okrem použitia predvolených metód na úpravu rozhrania bez toho, aby ste museli vývojári upravovať svoje aktuálne programy, môžete tiež rozšíriť existujúce rozhrania.
Teraz máte základné znalosti o rozhraniach Java
Rozhrania v Jave demonštrujú abstrakciu, jeden zo štyroch pilierov objektovo orientovaného programovania. Polymorfizmus je jedným z týchto štyroch pilierov. Vzťahuje sa na schopnosť metódy nadobudnúť mnoho foriem.
Polymorfizmus v Jave môžete implementovať preťažením metódy alebo prepísaním metódy. Ďalej vo vašom zozname čítania Java by malo byť, ako implementovať tieto funkcie.
Znížte kód, ktorý píšete, preťažením a prepísaním metódy.
Čítajte ďalej
- Programovanie
- Java
- Programovacie jazyky
- Programovanie
Jerome je spisovateľ štábu v MakeUseOf. Venuje sa článkom o programovaní a Linuxe. Je tiež nadšencom kryptomien a vždy má prehľad o kryptospracujúcom priemysle.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber