Java abstrakt klasse

Java abstrakt klasse
Begrepet abstraksjon er å fremheve objektets oppgave i stedet for å fremheve, "hvordan objektet gjør oppgaven". Denne typen konsept kan implementeres ved å bruke to måter i Java. Dette er den abstrakte klassen og grensesnittet. Abstrakt klasse inneholder nøkkelordet abstrakt. Denne klassen kan ikke initieres som andre normale klasser, men en underklasse kan avledes ved å arve den abstrakte klassen. Funksjonene i den abstrakte klassen kan nås ved å lage gjenstanden for underklassen. En abstrakt klasse kan også inneholde konstruktøren som kan nås ved å lage gjenstanden for underklasse -klassen. Hvordan du kan bruke en abstrakt klasse i Java vises i denne opplæringen.

Syntaks:

abstrakt klasseklassenavn
variable_names;
abstrakt metode1 ();
public Method2 ()
Uttalelser 1… n

En abstrakt klasse kan inneholde attributt eller variabler, abstrakt metode og normal metode eller noen av dem. Men underklassen i den abstrakte klassen kan bare implementere den abstrakte metoden i den abstrakte klassen.

Eksempel-1: Abstrakt klasse med en offentlig metode

Følgende eksempel viser hvordan du kan erklære en abstrakt klasse med en offentlig metode og måten å bruke en abstrakt klasse ved å lage en underklasse. Her inneholder den abstrakte klassen en offentlig metode som heter detaljer () som er implementert i den abstrakte klassen. Målet med underklassen opprettes for å få tilgang til den offentlige metoden i den abstrakte klassen.

// definere abstrakt klasse med offentlig metode
abstrakt klassebok
public void detaljer ()
System.ute.Println ("Boknavn: Lær PHP om 15 minutter");
System.ute.Println ("Forfatternavn: Jake Wright");
System.ute.Println ("Rabattpris: $ 35");


// definere underklasse
Klasse PHP utvider bok

// Hovedklasse
klasse Abstract1
public static void main (String [] args)
php bk = new php ();
bk.detaljer ();

Produksjon:

Følgende utgang vises etter å ha kjørt koden. Her, The detaljer () Metode for abstrakt klasse kalles, og teksten skrives ut fra metoden.

Eksempel-2: Abstrakt klasse med den abstrakte metoden og den offentlige metoden

Følgende eksempel viser hvordan en abstrakt klasse kan deklareres med variabler, en abstrakt metode og en offentlig metode. Uttalelsene om den offentlige metoden er definert i den abstrakte klassen, men kroppen til den abstrakte metoden er tom som implementeres i underklassen i den abstrakte klassen. Her er to underklasser erklært ved å utvide den abstrakte klassen. Underklassen som er navngitt torget vil beregne og skrive ut området til en kvadratbasert på verdien av n variabel. Underklassen som er navngitt rektangel vil beregne og skrive ut området til rektangelet basert på verdien av h og w variabler. Den offentlige metoden, readdata () kalles av en parameter som heter type For å identifisere hvilken variabel (er) i den abstrakte klassen som vil bli initialisert. Verdien av type variabel vil være 1 for å initialisere verdien av n og 2 for initialisering av verdien av h og w.

// definere en abstrakt klasse med en abstrakt metode og en offentlig metode
abstrakt klasseområde
offentlig int n, h, w;
abstrakt tomrom resultat ();
public void readdata (int type)
if (type == 1)
n = 10;

annet
h = 20;
w = 30;



// definere firkantet underklasse
Klassen utvider området
public void resultat ()
// Beregn området på torget
int områdeval = n*n;
System.ute.Println ("Området på torget er" + AreaVal);


// definere rektangel underklasse
klasse rektangel utvider området
public void resultat ()
// Beregn området til rektangelet
int områdeval = h*w;
System.ute.Println ("Rektangelområdet er" + AreaVal);


// Hovedklasse
klasse Abstract2
public static void main (String [] args)
// Lag gjenstand for Square -klassen
firkantet kvadratmeter = nytt firkant ();
Sq.readdata (1);
Sq.resultat();
// Lag gjenstand for rektangelklassen
rektangel RQ = nytt rektangel ();
RQ.readdata (2);
RQ.resultat();

Produksjon:

Følgende utgang vises etter å ha kjørt koden. Utgangen viser området på et kvadrat der verdien av n er 10 og området med et rektangel der verdien av h er 20, og verdien av w er 30.

Eksempel-3: abstrakt klasse med konstruktøren

Følgende eksempel viser hvordan konstruktør kan erklæres og brukes i en abstrakt klasse. Konstruktøren av den abstrakte klassen vil initialisere verdiene til en og b. Den abstrakte metoden, MaxVal () implementeres i underklassen som er navngitt findmax. super() Metoden brukes i konstruktøren av underklassen for å ringe konstruktøren til en abstrakt klasse. Den abstrakte metoden MaxVal () vil finne ut den maksimale verdien av to tall som vil bli gitt til parametrene til konstruktøren av underklassen på tidspunktet for objektoppretting.

// definere en abstrakt klasse med en konstruktør
abstrakte klassetall
// erklære variabler
beskyttet endelig int a, b;
// abstrakt klassekonstruktør
offentlige tall (int x, int y)
dette.a = x;
dette.b = y;

// offentlig metode
offentlig abstrakt tomrom MaxVal ();

// definere underklasse
klasse FindMax utvider tall
// underklasse konstruktør
public findmax (int x, int y)
// Ring abstrakt klassekonstruktør
Super (x, y);

// implementere abstrakt metode
public void maxVal ()
if (a> b)
System.ute.println (a + "er større enn" + b);

annet
System.ute.println (b + "er større enn" + a);



// Hovedklasse
klasse Abstract3
public static void main (String [] args)
// Lag gjenstand for underklassen
FindMax Fmax = New FindMax (34,89);
// Finn det maksimale
fmax.MaxVal ();

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet. Her, 34 og 89 er gitt som parameterverdier for konstruktøren. Disse verdiene blir sammenlignet i den abstrakte metoden som er implementert i underklassen og skrevet ut følgende melding.

Konklusjon:

En abstrakt klasse brukes til å gjøre programmet mer organisert og forståelig. Flere relaterte klasser kan grupperes ved å bruke abstrakte klasser. Konseptet og implementeringen av den abstrakte klassen med forskjellige deler blir forklart i denne opplæringen ved å bruke enkle eksempler. Jeg håper leserne vil kunne forstå bruken av abstrakt klasse og anvende den i koden sin på riktig måte etter å ha lest denne opplæringen.