Jaké je použití abstraktní metody v Javě?



Tento článek o abstraktní metodě v Javě vám pomůže naučit se, jak dosáhnout abstrakce při používání programovacích abstraktních tříd a metod v Javě

V libovolném programovacím jazyce abstrakce znamená skrývání irelevantních detailů od uživatele, aby se soustředil pouze na základní detaily, aby se zvýšila účinnost a tím se snížila složitost. V Javě se abstrakce dosahuje pomocíabstraktní třídy a metody. Pojďme se dozvědět více o abstraktní metodě v .

Témata popsaná v tomto článku jsou následující:





Co je abstraktní třída?

V každém , třída, která je deklarována klíčovým slovem abstraktní je známá jako abstraktní třída. An abstraktní třída zachycuje společné vlastnosti podtříd a může nebo nemusí obsahovat žádné abstraktní metoda . Nelze ji vytvořit instanci, ale lze ji použít pouze jako nadtřídu u jejích podtříd.

základy serveru SQL pro začátečníky

Níže jsou uvedeny některé klíčové body týkající se abstraktní třídy:



  • Abstraktní třída může mít konstruktéři a statické metody
  • Může mít konečné metody , nutí podtřídu, aby nezměnila tělo metody
  • Můžete použít abstraktní třídu zděděním z jiné třídy a poté v ní poskytnout implementace abstraktních metod
  • Pokud abstraktní třída nemá implementaci žádné metody, je vždy lepší ji použít rozhraní

Třída deklarovaná abstraktní může nebo nemusí obsahovat abstraktní metody. Ale co přesně je abstraktní metoda?

Co je abstraktní metoda?

Metoda deklarovaná bez těla (bez implementace)v rámci abstraktní třídy je abstraktní metoda. Jinými slovy, pokud chcete třída obsahovat konkrétní metodu, ale chcete, aby skutečná implementace této metody byla určena podřízenými třídami, můžete metodu v nadřazené třídě deklarovat jako abstrakt.

jak používat python v anakondě

Takto vypadá abstraktní metoda v Javě:



abstraktní veřejné neplatné stanoviště ()

Klíčové vlastnosti abstraktní metody

Níže jsou uvedeny klíčové vlastnosti abstraktní metody:

  • Abstraktní metody nemají implementaci (tělo), mají pouze podpis metody, jak je uvedeno ve výše uvedeném příkladu
  • Pokud má třída abstraktní metodu, měla by být deklarována jako abstraktní, naopak to není pravda
  • Namísto složených závorek bude mít abstraktní metoda na konci středník ()
  • Pokud běžná třída rozšiřuje abstraktní třídu, pak musí třída muset implementovat všechny abstraktní metody této třídy nebo musí být také deklarována jako abstraktní

Příklad programu: Abstraktní metoda v Javě

Podívejte se na ukázkový program, abyste pochopili, jak se abstrakce dosahuje pomocí abstraktních tříd a abstraktních metod. Podívejte se.

balíček MyPackage // abstraktní třída abstraktní třída Zvíře {String AnimalName = '' Zvíře (Název řetězce) {this.AnimalName = name} // deklarovat jiné než abstraktní metody // má výchozí implementaci public void BasicInfo (Podrobnosti řetězce) {Systém. out.println (this.AnimalName + '' + podrobnosti)} // abstraktní metody, které budou // implementovány jejími podtřídami abstraktní veřejné neplatné stanoviště () abstraktní veřejné neplatné dýchání ()} třída Terrestrial extends Animal {// konstruktor Terrestrial (název řetězce) {super (name)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void respiration () {System.out.println ('respire přes plíce nebo průdušnici. ')}} třída Aquatic rozšiřuje Animal {// konstruktor Aquatic (název řetězce) {super (název)} @Override public void habitat () {System.out.println (' Leave in water and ') } @Override public void respiration () {System.out.println ('respire through gills or their skin.')}} Třída AbstractClassDemo {public static voi d main (String [] args) {// vytvoření objektu třídy Terrestrial // a použití odkazu na třídu Animal. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('are terrestrial beings, they') object1.habitat () object1.respiration () System.out.println ('') // creating the Objects of circle class Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('are aqautic beings, they') object2.habitat () object2.respiration ()}}

Výstup:

Metoda Základní informace () je který používají oba Pozemní a Vodní třídy. Metody místo výskytu() a dýchání() jsou abstraktní metody a nemají žádnou implementaci, pouze podpis. Pozemní a Vodní třídy musí zajistit vlastní implementaci pro obě tyto metody. Všimněte si také, že obě metody začínají klíčovým slovem abstraktní . V tomto okamžiku by vás mohlo zajímat, jak na tom je abstraktní třída odlišné od rozhraní .

Rozhraní v Javě

Další způsob, jak toho dosáhnout abstrakce v Javě je pomocí rozhraní . Rozhraní je sbírka abstraktních metod, nemá žádné konkrétní , na rozdíl od abstraktní třídy. Ale na rozdíl od abstraktní třídy poskytuje rozhraní v Javě úplnou abstrakci. Může mít jak metody, tak proměnné jako třída. Metody deklarované v rozhraní jsou však ve výchozím nastavení abstraktní.

Abstraktní třídy a rozhraní jsou dva hlavní stavební blokyz . Ačkoli se oba primárně používají k abstrakci, jsou navzájem velmi odlišné a nelze je zaměnitelně použít.

Tím se dostáváme na konec tohoto článku „Abstraktní metoda v Javě“. Pokryl jsem jednu z nejčastěji dotazovaných , což je abstraktní třída v Javě.

najít největší prvek v poli java

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů rozložených po celém světě. Máte na nás dotaz? Uveďte to prosím v sekci komentářů této „Abstraktní metody v Javě“ článku a my se vám ozveme co nejdříve.