PočítačeProgramovanie

Prvky modelu objektu Java: abstraktné trieda, rozhranie

Hlavnou myšlienkou abstraktné triedy je obsiahnutý v nasledujúcich téz: niekedy nevyžaduje žiadne kurzy varenia, a "mokré" forme. Tieto polotovary nemožno priamo použiť (inštancie).

To, čo je abstraktné trieda v Jave

Zoberme si ďalší príklad. K dispozícii je Java abstraktné triedy Kalendár java.util balíka. Neimplementuje konkrétny kalendár, ktorý sa používa, napríklad v západnej a východnej Európe, Číne, Severnej Kórei, Thajsku, atď, ale má mnoho užitočných funkcií, ako je napríklad pridanie niekoľkými dňami k určitému dátumu: .. Tieto funkcie sú nevyhnutné pre niektorý kalendár realizácie. Je nemožné vyrobiť kópiu abstraktné triedy.

Abstraktné triedy, abstraktné Java metódy

Predpokladajme, že chcete vytvoriť viac grafických prvkov napríklad geometrické tvary: .. A kruh, obdĺžnik, hviezda, atď A tam je kontajner, ktorý ich priťahuje. Každý komponent vzhľadu je iný, takže je realizovaný vhodný spôsob (aj keď to je volané farby) inak. Avšak, každá komponenta má mnoho podobností: .. Na obrázku by mala byť zahrnutá do poľa môže mať farbu, aby boli viditeľné aj neviditeľné, atď. Inými slovami, je potrebné vytvoriť rodičovskú triedu pre všetky z týchto čísel, kde každá komponenta dedia všeobecné vlastnosti. Ale čo o metóde laku? Koniec koncov, materská trieda nie je vizuálne reprezentácie. Ak deklarovať metódu laku v každej triede nezávisle na sebe, bude potrebné analyzovať, čo komponenty sú spracovávané, a potom vykonajte nádych. Preto je táto metóda musí byť vyhlásená za abstraktné v nadradenej triedy: metóda nastaviť názov bez telá. Telo každého odvodené triedy bude popisovať jeho vlastné. V Jave, abstraktné trieda môže vstúpiť abstraktné metódy.

Ak trieda má abstraktné metódy, trieda je abstraktná. Pred trieda slovo dal kľúčových slov abstraktné, názov metódy - taky. Po názvu takejto metódy je nevyhnutné, aby bodkočiarka. V Jave, môže abstraktné trieda neprodukujú kópií. Ak chceme, aby zakázali ich tvorbu, aj keď neexistuje žiadna abstraktné metódy triedy, trieda môže byť vyhlásený za abstraktná. Ale v prípade, že trieda má aspoň jednu abstraktné metódu, trieda musí byť abstraktné. Je nemožné trieda bola a abstraktné je, a konečný, a táto metóda príliš. Metóda nemôže byť abstraktné, súkromné, static, rodák. Podtriedy by sa dalo prehlásiť, non-abstraktné a inštanciu, musia implementovať všetky abstraktné metódy rodičia. Samotná trieda môže používať jeho abstraktné metódy.

príklad:

  • abstraktné trieda AClass {
  • public abstract metóda void (int a) ;
  • }
  • trieda BClass rozširuje AClass {
  • void metóda (int) {
  • // telo
  • }

Povolené premenné, ako abstraktné triedy. Môžu odkazovať na non-abstraktné dieťa tejto triedy alebo byť null.

Rozhranie v Jave - alternatíva k viacnásobné dedičnosti

V Jave neexistuje viacnásobná dedičnosť, pretože potom tam sú určité problémy. Trieda nemôže dediť z niekoľkých tried. Ale môže implementovať viac rozhranie.

Java rozhrania a abstraktné triedy - tieto pojmy sú podobné, ale nie totožný. Rozhranie môže byť deklarovaný ako public, potom je k dispozícii všetkým, alebo môžete vynechať modifikátor verejnosť, potom rozhranie je k dispozícii len v rámci svojho balíčka. Abstrakt kľúčové slovo nie je nutné, pretože rozhranie, a tak je abstraktná, ale môžete určiť.

vyhlásenie rozhranie

Začína hlavičkou a môže najprv ísť na verejnosť kľúčových slov, potom - slovo rozhranie. Potom tam môže byť slovo rozširuje a prenášať rozhranie, z ktorého zdedil. Nie je dovolené opakovať, a to je možné, tvoria cyklický pomer vzťahu dedičnosti. Potom príde telo rozhranie, uzavretý do zložených zátvoriek. V tele prvkov rozhrania sú deklarované: polí konštánt a abstraktné metódy. Všetky polia sú public final static - všetky tieto modifikátory nie sú nutné. Všetky tieto metódy sú považované za verejné abstraktné - tieto modifikátory môžu byť tiež špecifikované. Teraz stačí sa hovorí o rozdiele medzi abstraktné triedy z rozhrania Java.

  • verejné rozhranie AI rozširuje B, C, D {
  • // telo
  • }

Vyhlásiť dediča rozhranie triedy, je potrebné použiť kľúčové slovo náradie:

  • trieda AClass implementuje BI, CI, DI {}

To znamená, že ak sa po vyhlásení trieda implementuje zadanú názov rozhrania, jeho trieda implementuje. Dedičia tejto triedy dostane jeho prvkov, ale aj predať.

Premenné typu rozhranie je tiež povolené. Môžu odkazovať na typ triedy, ktorá implementuje toto rozhranie, alebo null. Tieto premenné majú všetky prvky triedy Object, pretože objekty sú generované tried, a oni na oplátku, sú odvodené od triedy Object.

V tomto článku sme diskutovali niektoré prvky model objektu Java - abstraktné triedy, abstraktné metódy rozhraní.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sk.atomiyme.com. Theme powered by WordPress.