Quin és l'ús del mètode abstracte a Java?



Aquest article sobre el mètode abstracte a Java us ajudarà a aprendre a aconseguir l'abstracció quan utilitzeu classes i mètodes abstractes a Java

En qualsevol llenguatge de programació, abstracció significa ocultar a l'usuari els detalls irrellevants per centrar-se només en els detalls essencials per augmentar l'eficiència, reduint la complexitat. A Java, l'abstracció s'aconsegueix utilitzantclasses i mètodes abstractes. Anem a conèixer més sobre el mètode abstracte a .

Els temes tractats en aquest article són els següents:





Què és una classe abstracta?

En qualsevol , una classe que es declara amb la paraula clau resum es coneix com una classe abstracta. An classe abstracta captura característiques comunes de subclasses i pot contenir-ne o no mètode abstracte . No es pot crear una instància, però només es pot utilitzar com a superclasse per les seves subclases.

A continuació s’enumeren alguns punts clau sobre la classe abstracta:



  • Una classe abstracta pot tenir constructors i mètodes estàtics
  • Pot tenir mètodes finals , obliguen la subclasse a no canviar el cos del mètode
  • Podeu fer servir una classe abstracta heretant-la d’una altra classe i després proporcionar implementacions als mètodes abstractes que hi hagi
  • Si una classe abstracta no té cap mètode d’implementació, sempre és millor utilitzar-la interfície

Una classe declarada abstracta pot incloure o no mètodes abstractes. Però, què és exactament un mètode abstracte?

Què és un mètode abstracte?

Un mètode declarat sense un cos (sense implementació)dins d'una classe abstracta hi ha un mètode abstracte. En altres paraules, si voleu un classe per contenir un mètode concret, però voleu que la implementació real d'aquest mètode la determinin les classes filles, llavors podeu declarar el mètode a la classe pare com a resum.

Així es veu un mètode abstracte a Java:



hàbitat buit públic abstracte ()

Característiques clau del mètode abstracte

A continuació s’enumeren les característiques clau del mètode abstracte:

com funciona el càsting a Java
  • Els mètodes abstractes no tenen una implementació (cos), només tenen la signatura del mètode tal com es mostra a l’exemple anterior
  • Si una classe té un mètode abstracte, s'ha de declarar abstracta, a l'inrevés no és cert
  • En lloc d’unes claus, un mètode abstracte tindrà un punt i coma () al final
  • Si a classe regular amplia una classe abstracta, llavors la classe ha d’haver d’implementar tots els mètodes abstractes d’aquesta classe o també s’ha de declarar abstracta

Exemple de programa: Mètode abstracte a Java

Consulteu l’exemple de programa per entendre com s’aconsegueix l’abstracció mitjançant classes abstractes i mètodes abstractes. Fes una ullada.

package MyPackage // abstract class abstract class Animal {String AnimalName = '' Animal (nom de la cadena) {this.AnimalName = name} // declara mètodes no abstractes // té implementació predeterminada public void BasicInfo (detalls de la cadena) {System. out.println (this.AnimalName + '' + details)} // mètodes abstractes que seran // implementats per la seva subclasse abstract public void habitat () abstract public void respiration ()} classe Terrestre extends Animal {// constructor Terrestre (nom de la cadena) {super (name)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void respiration () {System.out.println ('respire a través de pulmons o tràquea. ')}} classe Aquatic extends Animal {// constructor Aquatic (nom de la cadena) {super (name)} @Override public void habitat () {System.out.println (' Es deixa a l'aigua i ') } @Override public void respiration () {System.out.println ('respire through brànquies o la seva pell.')}} Classe AbstractClassDemo {public static voi d main (String [] args) {// creant l’objecte de la classe Terrestre // i utilitzant la referència de la classe Animal. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('són éssers terrestres, ells') object1.habitat () object1.respiration () System.out.println ('') // creant els objectes de la classe de cercle Animal object2 = new Aquatic ('Peixos') object2.BasicInfo ('són éssers aquàtics, ells') object2.habitat () object2.respiration ()}}

Sortida:

El mètode Informació bàsica () és un que fan servir tots dos Terrestre i Aquàtic classes. Els mètodes habitat() i respiració () són mètodes abstractes i no tenen cap implementació, només la signatura. Terrestre i Aquàtic les classes han de proporcionar la seva pròpia implementació per a aquests dos mètodes. Tingueu en compte també que tots dos mètodes comencen per la paraula clau resum . En aquest punt, us podeu preguntar com és classe abstracta diferent de la interfície .

Interfície en Java

Una altra forma d'aconseguir abstracció a Java es fa mitjançant interfícies . Una interfície és una col·lecció de mètodes abstractes, que no té cap concret , a diferència d’una classe abstracta. Però, a diferència de la classe abstracta, una interfície proporciona una abstracció completa a Java. Pot tenir tant mètodes com variables com una classe. No obstant això, els mètodes declarats en una interfície són abstractes per defecte.

Les classes abstractes i les interfícies són els dos blocs principalsdel . Tot i que tots dos s’utilitzen principalment per a l’abstracció, són molt diferents entre si i no es poden utilitzar indistintament.

Això ens porta al final d'aquest article sobre 'Mètode abstracte a Java'. He cobert una de les preguntes més freqüents , que és una classe abstracta a Java.

Assegureu-vos de practicar el màxim possible i de recuperar la vostra experiència.

Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d'aquest 'Mètode abstracte a Java' article i ens posarem en contacte amb vostè el més aviat possible.