Java

Java abstrakt klasse

Java abstrakt klasse
Konseptet med abstraksjonen er å markere oppgaven til objektet i stedet for å markere, "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 utledes ved å arve den abstrakte klassen. Funksjonene til den abstrakte klassen kan nås ved å lage objektet til underklassen. En abstrakt klasse kan også inneholde konstruktøren som er tilgjengelig ved å lage objektet til underklasseklassen. Hvordan du kan bruke en abstrakt klasse i Java vises i denne veiledningen.

Syntaks:

abstrakt klasse className
variable_names;
abstrakt metode1 ();
offentlig metode2 ()
uttalelser 1 ... N

En abstrakt klasse kan inneholde attributter eller variabler, abstrakt metode og normal metode eller noen av dem. Men underklassen til den abstrakte klassen kan bare implementere den abstrakte metoden til 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 hvordan du bruker en abstrakt klasse ved å lage en underklasse. Her inneholder abstraktklassen en offentlig metode som heter detaljer () som er implementert i den abstrakte klassen. Objektet til underklassen er opprettet for å få tilgang til den offentlige metoden til den abstrakte klassen.

// Definer abstrakt klasse med offentlig metode
abstrakt klassebok
offentlige ugyldighetsdetaljer ()
System.ute.println ("Book Name: Learn PHP in 15 minutes");
System.ute.println ("Forfatternavn: Jake Wright");
System.ute.println ("Rabattpris: $ 35");


// Definer underklasse
klasse php utvider boken

// Hovedklasse
klasseabstrakt1
public static void main (String [] args)
php bk = ny php ();
bk.detaljer ();

Produksjon:

Følgende utdata vises etter at du har kjørt koden. Her, den detaljer () metode for abstrakt klasse kalles, og teksten skrives ut fra metoden.

Eksempel 2: Abstrakt klasse med abstrakt metode og offentlig metode

Følgende eksempel viser hvordan en abstrakt klasse kan deklareres med variabler, en abstrakt metode og en offentlig metode. Uttalelsene til den offentlige metoden er definert i den abstrakte klassen, men kroppen til den abstrakte metoden er tom som er implementert i underklassen til den abstrakte klassen. Her blir to underklasser erklært ved å utvide den abstrakte klassen. Underklassen navngitt torget vil beregne og skrive ut arealet av et kvadrat basert på verdien av n variabel. Underklassen navngitt rektangel vil beregne og skrive ut arealet av rektangelet basert på verdien av h og w variabler. Den offentlige metoden, readData () kalles av en parameter som heter type for å identifisere hvilke variabler i abstraktklassen som vil initialiseres. Verdien av type variabel vil være 1 for initialisering av 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 ugyldig resultat ();
public void readData (int type)
hvis (type == 1)
n = 10;

annet
h = 20;
w = 30;



// Definer kvadratisk underklasse
klassetorg utvider området
offentlig ugyldig resultat ()
// Beregn arealet på firkanten
int areaVal = n * n;
System.ute.println ("Arealet av torget er" + areaVal);


// Definer rektangelunderklasse
klasse rektangel utvider området
offentlig ugyldig resultat ()
// Beregn arealet til rektangelet
int areaVal = h * w;
System.ute.println ("Arealet til rektangelet er" + areaVal);


// Hovedklasse
klasseabstrakt2
public static void main (String [] args)
// Lag objekt av firkantklassen
kvadrat kvadrat = nytt kvadrat ();
kvm.readData (1);
kvm.resultat();
// Opprett objekt av rektangelklassen
rektangel rq = nytt rektangel ();
rq.readData (2);
rq.resultat();

Produksjon:

Følgende utdata vises etter at du har kjørt koden. Utgangen viser arealet av et kvadrat hvor verdien av n er 10 og området til 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 deklareres og brukes i en abstrakt klasse. Konstruktøren til den abstrakte klassen vil initialisere verdiene til en og b. Den abstrakte metoden, maxval () er implementert i den underklassen som heter findMax. super() metoden brukes i konstruktøren til underklassen for å kalle 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.

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

// Offentlig metode
offentlig abstrakt ugyldig maxval ();

// Definer underklasse
class findMax utvider tall
// Underklassekonstruktør
public findMax (int x, int y)
// Ring abstrakt klassekonstruktør
super (x, y);

// Implementere abstrakt metode
offentlig ugyldig maxval ()
hvis (a> b)
System.ute.println (a + "er større enn" + b);

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



// Hovedklasse
klasseabstrakt3
public static void main (String [] args)
// Opprett objekt av underklassen
findMax fmax = ny findMax (34,89);
// Finn maksimalt
fmax.maxval ();

Produksjon:

Følgende utdata vises etter kjøring av 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 hjelp av abstrakte klasser. Konseptet og implementeringen av den abstrakte klassen med forskjellige deler er forklart i denne veiledningen ved hjelp av enkle eksempler. Jeg håper leserne vil være i stand til å forstå bruken av abstrakt klasse og bruke den i koden sin riktig etter å ha lest denne opplæringen.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...