Qual è l'uso del metodo astratto in Java?



Questo articolo sul metodo astratto in Java ti aiuterà a imparare come ottenere l'astrazione quando usi la programmazione di classi e metodi astratti in Java

In qualsiasi linguaggio di programmazione, astrazione significa nascondere i dettagli irrilevanti all'utente per concentrarsi solo sui dettagli essenziali per aumentare l'efficienza riducendo così la complessità. In Java, l'astrazione si ottiene utilizzandoclassi e metodi astratti. Impariamo di più sul metodo astratto in .

come installare eclipse windows

Gli argomenti discussi in questo articolo sono i seguenti:





Cos'è una classe astratta?

In qualunque , una classe dichiarata con la parola chiave astratto è nota come classe astratta. Un classe astratta cattura le caratteristiche comuni delle sottoclassi e può o non può contenerne metodo astratto . Non può essere istanziato ma può essere utilizzato solo come superclasse dalle sue sottoclassi.

Di seguito sono elencati alcuni punti chiave riguardanti la classe astratta:



  • Una classe astratta può avere costruttori e metodi statici
  • Può avere metodi finali , costringono la sottoclasse a non modificare il corpo del metodo
  • È possibile utilizzare una classe astratta ereditandola da un'altra classe e quindi fornire le implementazioni ai metodi astratti in essa contenuti
  • Se una classe astratta non ha alcuna implementazione del metodo, è sempre meglio usarla interfaccia

Una classe dichiarata astratta può o non può includere metodi astratti. Ma cos'è esattamente un metodo astratto?

Cos'è un metodo astratto?

Un metodo dichiarato senza un corpo (nessuna implementazione)all'interno di una classe astratta è un file metodo astratto. In altre parole, se vuoi un file classe per contenere un metodo particolare ma si desidera che l'effettiva implementazione di quel metodo sia determinata dalle classi figlie, quindi è possibile dichiarare il metodo nella classe genitore come astratto.

pivot e unpivot in sql

Ecco come appare un metodo astratto in Java:



habitat vuoto pubblico astratto ()

Caratteristiche principali del metodo astratto

Di seguito sono elencate le caratteristiche chiave del metodo astratto:

  • I metodi astratti non hanno un'implementazione (corpo), hanno solo la firma del metodo come mostrato nell'esempio precedente
  • Se una classe ha un metodo astratto dovrebbe essere dichiarato astratto, il contrario non è vero
  • Invece delle parentesi graffe, un metodo astratto avrà un punto e virgola () alla fine
  • Se un classe regolare estende una classe astratta, quindi la classe deve implementare tutti i metodi astratti di quella classe o deve essere dichiarata anche astratta

Programma di esempio: metodo astratto in Java

Dai un'occhiata al programma di esempio per capire come si ottiene l'astrazione usando classi astratte e metodi astratti. Dai un'occhiata.

pacchetto MyPackage // classe astratta classe astratta Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // dichiara metodi non astratti // ha un'implementazione predefinita public void BasicInfo (String details) {System. out.println (this.AnimalName + '' + details)} // metodi astratti che saranno // implementati dalla sua sottoclasse abstract public void habitat () abstract public void respiration ()} class Terrestrial extends Animal {// costruttore Terrestrial (String name) {super (name)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void respiration () {System.out.println ('respire attraverso i polmoni o la trachea. ')}} class Aquatic extends Animal {// constructor Aquatic (String name) {super (name)} @Override public void habitat () {System.out.println (' It leaves in water and ') } @Override public void respiration () {System.out.println ('respire through gills or their skin.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// creazione della classe Object of Terrestrial // e utilizzo del riferimento alla classe Animal. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('are terrestrial being, they') object1.habitat () object1.respiration () System.out.println ('') // creazione degli oggetti della classe circle Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('are aqautic essence, they') object2.habitat () object2.respiration ()}}

Produzione:

Il metodo BasicInfo() è un che viene utilizzato da entrambi Terrestre e Acquatico classi. I metodi habitat() e respirazione() sono metodi astratti e non hanno alcuna implementazione, solo la firma. Terrestre e Acquatico le classi devono fornire la propria implementazione per entrambi questi metodi. Inoltre, nota che entrambi i metodi iniziano con la parola chiave astratto . A questo punto, ti starai chiedendo come sta classe astratta diverso dal interfaccia .

Interfaccia in Java

Un altro modo per ottenere astrazione in Java sta usando interfacce . Un'interfaccia è una raccolta di metodi astratti, non ha alcun concreto , a differenza di una classe astratta. Ma a differenza della classe astratta, un'interfaccia fornisce un'astrazione completa in Java. Può avere metodi e variabili proprio come una classe. Tuttavia, i metodi dichiarati in un'interfaccia sono astratti per impostazione predefinita.

ordinamento c ++ stl

Le classi e le interfacce astratte sono i due elementi costitutivi principalidel . Sebbene entrambi siano usati principalmente per l'astrazione, sono molto diversi l'uno dall'altro e non possono essere usati in modo intercambiabile.

Questo ci porta alla fine di questo articolo 'Metodo astratto in Java'. Ho coperto uno dei più frequenti , che è una classe astratta in Java.

Assicurati di esercitarti il ​​più possibile e di ripristinare la tua esperienza.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo 'Metodo astratto in Java' articolo e ti risponderemo il prima possibile.