Wat is het gebruik van de abstracte methode in Java?



Dit artikel over abstracte methoden in Java helpt je te leren hoe je abstractie kunt bereiken bij het programmeren van abstracte klassen en methoden in Java

In elke programmeertaal, abstractie betekent het verbergen van de irrelevante details voor de gebruiker om zich alleen te concentreren op de essentiële details om de efficiëntie te verhogen en zo de complexiteit te verminderen. In Java wordt abstractie bereikt metabstracte klassen en methoden. Laten we meer te weten komen over de abstracte methode in .

De onderwerpen die in dit artikel worden besproken, zijn als volgt:





Wat is een abstracte klasse?

In elke , een klasse die wordt gedeclareerd met het trefwoord abstract staat bekend als een abstracte klasse. Een abstracte klasse legt gemeenschappelijke kenmerken van subklassen vast en kan er al dan niet een bevatten abstracte methode . Het kan niet worden geïnstantieerd, maar kan alleen worden gebruikt als een superklasse door zijn subklassen.

logistieke regressie in python-code

Hieronder staan ​​enkele belangrijke punten met betrekking tot abstracte klasse:



  • Een abstracte klasse kan hebben constructeurs en statische methoden
  • Het kan hebben laatste methoden , dwingen ze de subklasse om de body van de methode niet te veranderen
  • U kunt een abstracte klasse gebruiken door deze over te nemen van een andere klasse en vervolgens implementaties te bieden voor de abstracte methoden erin
  • Als een abstracte klasse geen methode-implementatie heeft, is het altijd beter om deze te gebruiken koppel

Een klasse die als abstract is gedeclareerd, kan al dan niet abstracte methoden bevatten. Maar wat is precies een abstracte methode?

Wat is een abstracte methode?

Een methode gedeclareerd zonder een body (geen implementatie)binnen een abstracte klasse is een abstracte methode. Met andere woorden, als u een klasse om een ​​bepaalde methode te bevatten, maar u wilt dat de daadwerkelijke implementatie van die methode wordt bepaald door onderliggende klassen, dan kunt u de methode in de bovenliggende klasse declareren als een abstract.

Dit is hoe een abstracte methode eruitziet in Java:



abstracte openbare leegte habitat ()

Belangrijkste kenmerken van de abstracte methode

Hieronder staan ​​de belangrijkste kenmerken van de abstracte methode:

  • Abstracte methoden hebben geen implementatie (hoofdtekst), ze hebben alleen een methodehandtekening, zoals in het bovenstaande voorbeeld wordt getoond
  • Als een klasse een abstracte methode heeft, moet deze als abstract worden gedeclareerd, het omgekeerde is niet waar
  • In plaats van accolades heeft een abstracte methode aan het einde een puntkomma ()
  • Als een reguliere les breidt een abstracte klasse uit, dan moet de klasse alle abstracte methoden van die klasse implementeren of moet deze ook abstract worden verklaard

Voorbeeldprogramma: abstracte methode in Java

Bekijk het voorbeeldprogramma om te begrijpen hoe abstractie wordt bereikt met behulp van abstracte klassen en abstracte methoden. Kijk maar eens.

pakket MyPackage // abstracte klasse abstracte klasse Dier {String AnimalName = '' Animal (String naam) {this.AnimalName = naam} // declareer niet-abstracte methoden // het heeft standaard implementatie public void BasicInfo (String details) {System. out.println (this.AnimalName + '' + details)} // abstracte methoden die worden // geïmplementeerd door de subklasse (n) abstract public void habitat () abstract public void respiration ()} class Terrestrial verlengt 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 door longen of luchtpijp. ')}} class Aquatic breidt 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 ('ademen door kieuwen of hun huid.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// het maken van de klasse Object of Terrestrial // en met behulp van Animal class reference. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('are aardse wezens, zij') object1.habitat () object1.respiration () System.out.println ('') // het creëren van de Objects of circle class Animal object2 = nieuw Aquatic ('Fishes') object2.BasicInfo ('zijn aqautische wezens, zij') object2.habitat () object2.respiration ()}}

Uitgang:

De methode Basis informatie () is een die door beide wordt gebruikt Terrestrisch en Aquatisch klassen. De methodes leefgebied () en ademhaling() zijn abstracte methoden en ze hebben geen implementatie, alleen de handtekening. Terrestrisch en Aquatisch klassen moeten hun eigen implementatie bieden voor beide methoden. Merk ook op dat beide methoden beginnen met het trefwoord abstract . Op dit punt vraag je je misschien af ​​hoe het is abstracte klasse anders dan de koppel .

Interface in Java

Een andere manier om te bereiken abstractie in Java is door interfaces . Een interface is een verzameling abstracte methoden, het heeft geen concrete , in tegenstelling tot een abstracte klasse. Maar in tegenstelling tot abstracte klasse, biedt een interface volledige abstractie in Java. Het kan zowel methoden als variabelen hebben, net als een klasse. De methoden die in een interface worden gedeclareerd, zijn echter standaard abstract.

Abstracte klassen en interfaces zijn de twee belangrijkste bouwstenenvan de . Hoewel beide voornamelijk worden gebruikt voor abstractie, verschillen ze sterk van elkaar en kunnen ze niet door elkaar worden gebruikt.

Dit brengt ons bij het einde van dit ‘Abstracte methode in Java’ artikel. Ik heb een van de meest gestelde vragen behandeld , wat een abstracte klasse is in Java.

ondiepe kopie en diepe kopie in java

Zorg ervoor dat je zoveel mogelijk oefent en terugkeert naar je ervaring.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze ‘Abstracte methode in Java’ artikel en we nemen zo snel mogelijk contact met u op.