Care este utilizarea metodei abstracte în Java?



Acest articol despre metoda abstractă în Java vă va ajuta să învățați cum să obțineți abstractizarea atunci când utilizați programe de clase și metode abstracte în Java

În orice limbaj de programare, abstractizare înseamnă să ascundeți detaliile irelevante de la utilizator pentru a vă concentra doar asupra detaliilor esențiale pentru a crește eficiența, reducând astfel complexitatea. În Java, abstractizarea se realizează folosindclase și metode abstracte. Să aflăm mai multe despre metoda abstractă din .

Subiectele discutate în acest articol sunt următoarele:





Ce este o clasă abstractă?

În orice , o clasă care este declarată cu cuvântul cheie abstract este cunoscut ca o clasă abstractă. Un clasa abstractă surprinde caracteristicile comune ale subclaselor și poate conține sau nu metoda abstractă . Nu poate fi instanțiat, dar poate fi folosit doar ca superclasă de către subclasele sale.

Mai jos sunt enumerate câteva puncte cheie referitoare la clasa abstractă:



  • O clasă abstractă poate avea constructori și metode statice
  • Poate avea metode finale , forțează subclasa să nu schimbe corpul metodei
  • Puteți utiliza o clasă abstractă moștenind-o de la o altă clasă și apoi furnizați implementări metodelor abstracte din ea
  • Dacă o clasă abstractă nu are nicio metodă de implementare, este întotdeauna mai bine să o folosiți interfață

O clasă declarată abstractă poate include sau nu metode abstracte. Dar, ce este mai exact o metodă abstractă?

Ce este o metodă abstractă?

O metodă declarată fără un corp (fără implementare)în cadrul unei clase abstracte este un metoda abstractă. Cu alte cuvinte, dacă doriți un clasă pentru a conține o anumită metodă, dar doriți ca implementarea efectivă a acelei metode să fie determinată de clasele copil, atunci puteți declara metoda din clasa părinte ca abstract.

Așa arată o metodă abstractă în Java:



habitat public vid abstract ()

Caracteristici cheie ale metodei abstracte

Mai jos sunt enumerate caracteristicile cheie ale metodei abstracte:

cum se scrie scanner în java
  • Metodele abstracte nu au o implementare (corp), ci au doar semnătura metodei, așa cum se arată în exemplul de mai sus
  • Dacă o clasă are o metodă abstractă, aceasta ar trebui declarată abstractă, viceversa nu este adevărată
  • În loc de acolade, o metodă abstractă va avea un punct și virgulă () la sfârșit
  • În cazul în care un clasa regulată extinde o clasă abstractă, atunci clasa trebuie să implementeze toate metodele abstracte ale acelei clase sau trebuie să fie declarată și abstractă

Program de exemplu: Metodă abstractă în Java

Consultați exemplul de program pentru a înțelege cum se realizează abstractizarea folosind clase abstracte și metode abstracte. Aruncă o privire.

pachet MyPackage // clasă abstractă clasă abstractă Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // declarați metode non-abstracte // are implicit implementare public void BasicInfo (String details) {Sistem. out.println (this.AnimalName + '' + details)} // metode abstracte care vor fi // implementate de subclasa sa (e) abstract public void habitat () abstract public void respiration ()} clasă Terestru extinde Animal {// constructor Terrestrial (String name) {super (name)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void respiration () {System.out.println ('respire prin plămâni sau trahee. ')}} clasa Aquatic extends Animal {// constructor Aquatic (String name) {super (name)} @Override public void habitat () {System.out.println (' Se lasă în apă și ') } @Override public void respiration () {System.out.println ('respire prin branhii sau pielea lor.')}} Clasă AbstractClassDemo {public static voi d main (String [] args) {// crearea obiectului clasei Terestre // și folosirea referinței clasei Animal. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('sunt ființe terestre, ele') object1.habitat () object1.respiration () System.out.println ('') // crearea obiectelor din clasa cerc Animal object2 = new Aquatic ('Pești') object2.BasicInfo ('sunt ființe aqautice, ele') object2.habitat () object2.respiration ()}}

Ieșire:

Metoda Informatii de baza () este un care este folosit de ambii Terestru și Acvatic clase. Metodele habitat () și respiraţie() sunt metode abstracte și nu au nicio implementare, doar semnătura. Terestru și Acvatic clasele trebuie să ofere propria lor implementare pentru ambele metode. De asemenea, observați că ambele metode încep cu cuvântul cheie abstract . În acest moment, s-ar putea să vă întrebați cum este clasa abstractă diferit de interfață .

Interfață în Java

Un alt mod de realizare abstractizare în Java se folosește interfețe . O interfață este o colecție de metode abstracte, nu are niciun concret , spre deosebire de o clasă abstractă. Dar, spre deosebire de clasa abstractă, o interfață oferă abstractizare completă în Java. Poate avea atât metode cât și variabile la fel ca o clasă. Cu toate acestea, metodele declarate într-o interfață sunt abstracte în mod implicit.

Clasele și interfețele abstracte sunt cele două blocuri principaledin . Deși ambele sunt utilizate în primul rând pentru abstractizare, ele sunt foarte diferite una de cealaltă și nu pot fi utilizate în mod interschimbabil.

Acest lucru ne aduce la sfârșitul acestui articol „Metodă abstractă în Java”. Am acoperit una dintre cele mai frecvente întrebări , care este o clasă abstractă în Java.

Asigurați-vă că exersați cât mai mult posibil și reveniți la experiență.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestei „Metode abstracte în Java” articol și vă vom răspunde cât mai curând posibil.