Hva er bruken av abstrakt metode i Java?



Denne artikkelen om abstrakt metode i Java vil hjelpe deg å lære hvordan du oppnår abstraksjon når du bruker programmering av abstrakte klasser og metoder i Java

På ethvert programmeringsspråk, abstraksjon betyr å skjule de irrelevante detaljene for brukeren for kun å fokusere på de essensielle detaljene for å øke effektiviteten og derved redusere kompleksiteten. I Java oppnås abstraksjon ved hjelp avabstrakte klasser og metoder. La oss få vite mer om den abstrakte metoden i .

Emnene som diskuteres i denne artikkelen er som følger:





Hva er en abstrakt klasse?

I noen , en klasse som deklareres med nøkkelordet abstrakt er kjent som en abstrakt klasse. An abstrakt klasse fanger vanlige kjennetegn ved underklasser og kan inneholde eller ikke abstrakt metode . Det kan ikke instantieres, men kan bare brukes som en superklasse av underklassene.

Nedenfor er noen viktige punkter angående abstrakt klasse:



bruk av iterator i java
  • En abstrakt klasse kan ha konstruktører og statiske metoder
  • Det kan ha endelige metoder , de tvinger underklassen til ikke å endre metodens kropp
  • Du kan bruke en abstrakt klasse ved å arve den fra en annen klasse og deretter gi implementeringer til de abstrakte metodene i den
  • Hvis en abstrakt klasse ikke har noen metodeimplementering, er det alltid bedre å bruke grensesnitt

En klasse erklært abstrakt kan eller ikke inkluderer abstrakte metoder. Men hva er egentlig en abstrakt metode?

Hva er en abstrakt metode?

En metode erklært uten organ (ingen implementering)innenfor en abstrakt klasse er en abstrakt metode. Med andre ord, hvis du vil ha en klasse å inneholde en bestemt metode, men du vil at den faktiske implementeringen av den metoden skal bestemmes av barneklasser, så kan du erklære metoden i foreldreklassen som et abstrakt.

ng-endring vs onchange

Slik ser en abstrakt metode ut i Java:



abstrakt offentlig tomt habitat ()

Hovedtrekk ved abstrakt metode

Nedenfor er hovedtrekk ved Abstrakt Metode:

  • Abstrakte metoder har ikke en implementering (kropp), de har bare metodesignatur som vist i eksemplet ovenfor
  • Hvis en klasse har en abstrakt metode, skal den erklæres abstrakt, og motsatt er ikke sant
  • I stedet for krøllete bukseseler vil en abstrakt metode ha semikolon () på slutten
  • Hvis en vanlig klasse utvider en abstrakt klasse, så må klassen implementere alle de abstrakte metodene i den klassen, ellers må den også erklæres abstrakt

Eksempel på program: Abstrakt metode i Java

Ta en titt på eksempelprogrammet for å forstå hvordan abstraksjon oppnås ved hjelp av abstrakte klasser og abstrakte metoder. Ta en titt.

pakke MyPackage // abstrakt klasse abstrakt klasse Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // erklære ikke-abstrakte metoder // den har standard implementering offentlig ugyldig BasicInfo (strengdetaljer) {System. out.println (this.AnimalName + '' + detaljer)} // abstrakte metoder som vil bli implementert // av dens underklasse (r) abstrakt offentlig ugyldig habitat () abstrakt offentlig ugyldig åndedrett ()} klasse Terrestrisk utvider dyr {// 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 gjennom lunger eller luftrør. ')}} klasse 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) {// oppretter Object of Terrestrial class // og bruker Animal class reference. Dyrobjekt1 = nytt jordbasert ('Humans') objekt1.BasicInfo ('er jordiske vesener, de') objekt1.habitat () objekt1.respirasjon () System.out.println ('') // oppretter objekter i sirkelklassen Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('er aqautic vesener, de') object2.habitat () object2.respiration ()}}

Produksjon:

Metoden Grunnleggende informasjon () er en som brukes av begge Jordbasert og Akvatisk klasser. Metodene habitat () og respirasjon () er abstrakte metoder og de har ingen implementering, bare signaturen. Jordbasert og Akvatisk klassene må gi sin egen implementering for begge disse metodene. Legg også merke til at begge metodene begynner med nøkkelordet abstrakt . På dette punktet lurer du kanskje på hvordan det er abstrakt klasse forskjellig fra grensesnitt .

lagringsklasser i c ++

Grensesnitt i Java

En annen måte å oppnå abstraksjon i Java er ved å bruke grensesnitt . Et grensesnitt er en samling abstrakte metoder, det har ikke noe konkret , i motsetning til en abstrakt klasse. Men i motsetning til abstrakt klasse, gir et grensesnitt full abstraksjon i Java. Det kan ha både metoder og variabler akkurat som en klasse. Metodene som er angitt i et grensesnitt er imidlertid abstrakte som standard.

Abstrakte klasser og grensesnitt er de to viktigste byggesteineneav . Selv om begge primært brukes til abstraksjon, er de veldig forskjellige fra hverandre og kan ikke brukes om hverandre.

Dette bringer oss til slutten av denne ‘Abstrakte metoden i Java’-artikkelen. Jeg har dekket en av de ofte spurte , som er en abstrakt klasse i Java.

Forsikre deg om at du trener så mye som mulig og tilbakestiller opplevelsen.

Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til denne ‘Abstrakte metoden i Java’ artikkel, og vi kommer tilbake til deg så snart som mulig.