PočítačeProgramování

Prvky modelu objektu Java: abstraktní třída, rozhraní

Hlavní myšlenkou abstraktní třídy je obsažen v následujících tezí: někdy nevyžaduje žádné kurzy vaření, a „mokré“ formě. Tyto polotovary nelze přímo použít (instance).

To, co je abstraktní třída v Javě

Vezměme si jiný příklad. K dispozici je Java abstraktní třídy Kalendář java.util balíčku. Neimplementuje konkrétní kalendář, který se používá, například v západní a východní Evropě, Číně, Severní Koreji, Thajsku, atd, ale má mnoho užitečných funkcí, jako je například přidání několika dny k určitému datu: .. Tyto funkce jsou nezbytné pro některý kalendář realizace. Je nemožné vyrobit kopii abstraktní třídy.

Abstraktní třídy, abstraktní Java metody

Předpokládejme, že chcete vytvořit více grafických prvků, například geometrické tvary: .. A kruh, obdélník, hvězda, atd A tam je kontejner, který je přitahuje. Každá komponenta vzhledu je jiný, takže je realizován vhodný způsob (i když to je voláno barvy) jinak. Nicméně, každá komponenta má mnoho podobností: .. Na obrázku by měla být zahrnuta do pole může mít barvu, aby byly viditelné i neviditelné, atd. Jinými slovy, je třeba vytvořit rodičovskou třídu pro všechny z těchto čísel, kde každá komponenta dědí obecné vlastnosti. Ale co o metodě laku? Koneckonců, mateřská třída není vizuální reprezentace. Pokud deklarovat metodu laku v každé třídě nezávisle na sobě, bude nutné analyzovat, co komponenty jsou zpracovávány, a pak proveďte nádech. Proto je tato metoda musí být prohlášena za abstraktní v nadřazené třídy: metoda nastavit název bez těla. Tělo každého odvozené třídy bude popisovat jeho vlastní. V Javě, abstraktní třída může vstoupit abstraktní metody.

Pokud třída má abstraktní metody, třída je abstraktní. Před třída slovo dal klíčových slov abstraktní, název metody - taky. Po názvu takové metody je nezbytné, aby středník. V Javě, může abstraktní třída neprodukují kopií. Chceme-li, aby zakázaly jejich tvorbu, i když neexistuje žádná abstraktní metody třídy, třída může být prohlášen za abstraktní. Ale v případě, že třída má alespoň jednu abstraktní metodu, třída musí být abstraktní. Je nemožné třída byla a abstraktní je, a konečný, a tato metoda příliš. Metoda nemůže být abstraktní, soukromé, static, rodák. Podtřídy by se dalo prohlásit, non-abstraktní a instanci, musí implementovat všechny abstraktní metody rodiče. Samotná třída může používat jeho abstraktní metody.

příklad:

  • abstraktní třída AClass {
  • public abstract metoda void (int a) ;
  • }
  • třída BClass rozšiřuje AClass {
  • void metoda (int) {
  • // tělo
  • }

Povolené proměnné, jako abstraktní třídy. Mohou odkazovat na non-abstraktní dítě této třídy nebo být null.

Rozhraní v Javě - alternativa k vícenásobné dědičnosti

V Javě neexistuje vícenásobná dědičnost, protože pak tam jsou určité problémy. Třída nemůže dědit z několika tříd. Ale může implementovat více rozhraní.

Java rozhraní a abstraktní třídy - tyto pojmy jsou podobné, ale ne totožný. Rozhraní může být deklarován jako public, pak je k dispozici všem, nebo můžete vynechat modifikátor veřejnost, pak rozhraní je k dispozici pouze v rámci svého balíčku. Abstrakt klíčové slovo není nutné, protože rozhraní, a tak je abstraktní, ale můžete určit.

Prohlášení rozhraní

Začíná hlavičkou a může nejprve jít na veřejnost klíčových slov, pak - slovo rozhraní. Pak tam může být slovo rozšiřuje a přenášet rozhraní, ze kterého zdědil. Není dovoleno opakovat, a to je možné, tvoří cyklický poměr vztahu dědičnosti. Pak přijde tělo rozhraní, uzavřený do složených závorek. V těle prvků rozhraní jsou deklarovány: polí konstant a abstraktní metody. Všechna pole jsou public final static - všechny tyto modifikátory nejsou nutné. Všechny tyto metody jsou považovány za veřejné abstraktní - tyto modifikátory mohou být také specifikovány. Nyní stačí se mluví o rozdílu mezi abstraktní třídy z rozhraní Java.

  • veřejné rozhraní AI rozšiřuje B, C, D {
  • // tělo
  • }

Prohlásit dědice rozhraní třídy, je třeba použít klíčové slovo nářadí:

  • třída AClass implementuje BI, CI, DI {}

To znamená, že pokud se po prohlášení třída implementuje zadanou název rozhraní, jeho třída implementuje. Dědici této třídy dostane jeho prvků, tak i prodat.

Proměnné typu rozhraní je také povoleno. Mohou odkazovat na typ třídy, která implementuje toto rozhraní, nebo null. Tyto proměnné mají všechny prvky třídy Object, protože objekty jsou generovány tříd, a oni na oplátku, jsou odvozeny od třídy Object.

V tomto článku jsme diskutovali některé prvky model objektu Java - abstraktní třídy, abstraktní metody rozhraní.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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