Syntaks:
abstrakt klasse classNamevariable_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 metodeabstrakt 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 metodeabstrakt 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ørabstrakte 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.