Sintaksa:
abstraktni razred classNameimena spremenljivk;
abstraktna metoda1 ();
javna metoda2 ()
izjave 1… N
Abstraktni razred lahko vsebuje atribut ali spremenljivke, abstraktno metodo in običajno metodo ali katero koli od njih. Toda podrazred abstraktnega razreda lahko izvaja samo abstraktno metodo abstraktnega razreda.
Primer-1: Povzetek predavanja z javno metodo
Naslednji primer prikazuje, kako lahko prijavite abstraktni razred z javno metodo in način uporabe abstraktnega razreda z ustvarjanjem podrazreda. Tu abstraktni razred vsebuje javno imenovano metodo podrobnosti () ki se izvaja znotraj abstraktnega razreda. Predmet podrazreda je ustvarjen za dostop do javne metode abstraktnega razreda.
// Z javno metodo določimo abstraktni razredabstraktna učilnica
podrobnosti o javnih prazninah ()
Sistem.ven.println ("Ime knjige: Naučite se PHP v 15 minutah");
Sistem.ven.println ("Ime avtorja: Jake Wright");
Sistem.ven.println ("Cena s popustom: 35 USD");
// Določimo podrazred
class php podaljša knjigo
// Glavni razred
razred povzetek1
public static void main (String [] args)
php bk = nov php ();
bk.podrobnosti ();
Izhod:
Po zagonu kode se prikaže naslednji izhod. Tukaj podrobnosti () pokliče se metoda abstraktnega razreda in besedilo se natisne iz metode.
Primer-2: Abstraktni razred z abstraktno metodo in javno metodo
Naslednji primer prikazuje, kako je mogoče abstraktni razred deklarirati s spremenljivkami, abstraktno metodo in javno metodo. Izjave javne metode so definirane znotraj abstraktnega razreda, vendar je telo abstraktne metode prazno, kar je implementirano znotraj podrazreda abstraktnega razreda. Tu sta dva podrazreda deklarirana z razširitvijo abstraktnega razreda. Podrazred imenovan kvadrat bo izračunal in natisnil površino kvadrata na podlagi vrednosti n spremenljivka. Podrazred imenovan pravokotnik bo izračunal in natisnil površino pravokotnika glede na vrednost h in w spremenljivke. Javna metoda, readData () pokliče parameter z imenom tip za določitev, katere spremenljivke abstraktnega razreda bodo inicializirane. Vrednost tip spremenljivka bo 1 za inicializacijo vrednosti n in 2 za inicializacijo vrednosti h in w.
// Definirajte abstraktni razred z abstraktno metodo in javno metodoabstraktno področje predavanja
javni int n, h, w;
izvleček izvlečka ();
public void readData (int type)
če (vrsta == 1)
n = 10;
sicer
h = 20;
w = 30;
// Določimo kvadratni podrazred
razred kvadrat razširja območje
javni razveljavljeni rezultat ()
// Izračunaj površino kvadrata
int areaVal = n * n;
Sistem.ven.println ("Površina kvadrata je" + areaVal);
// Določimo podrazred pravokotnika
razred pravokotnik razširja območje
javni rezultat ničnosti ()
// Izračunaj površino pravokotnika
int areaVal = h * w;
Sistem.ven.println ("Površina pravokotnika je" + areaVal);
// Glavni razred
razred povzetek2
public static void main (String [] args)
// Ustvari objekt kvadratnega razreda
kvadrat kvadrat = nov kvadrat ();
kvadratnih metrov.readData (1);
kvadratnih metrov.rezultat ();
// Ustvari objekt razreda pravokotnika
pravokotnik rq = nov pravokotnik ();
rq.readData (2);
rq.rezultat ();
Izhod:
Po zagonu kode se prikaže naslednji izhod. Izhod prikazuje površino kvadrata, kjer je vrednost n je 10 in površina pravokotnika, kjer je vrednost h je 20, in vrednost w je 30.
Primer-3: abstraktni razred s konstruktorjem
Naslednji primer prikazuje, kako je mogoče konstruktor prijaviti in uporabiti v abstraktnem razredu. Konstruktor abstraktnega razreda bo inicializiral vrednosti a in b. Abstraktna metoda, maxval () je izveden v podrazredu z imenom findMax. super () metoda se v konstruktorju podrazreda uporablja za klicanje konstruktorja abstraktnega razreda. Abstraktna metoda maxval () bo ugotovil največjo vrednost dveh števil, ki bosta podani parametrom konstruktorja podrazreda v času ustvarjanja predmeta.
// Določite abstraktni razred s konstruktorjemabstraktne številke predavanja
// prijavimo spremenljivke
zaščiten končni int a, b;
// konstruktor abstraktnega razreda
javne številke (int x, int y)
to.a = x;
to.b = y;
// Javna metoda
javni povzetek void maxval ();
// Določimo podrazred
class findMax razširja številke
// Konstruktor podrazredov
public findMax (int x, int y)
// Pokliči konstruktor abstraktnega razreda
super (x, y);
// Izvedba abstraktne metode
javna void maxval ()
če (a> b)
Sistem.ven.println (a + "je večje od" + b);
sicer
Sistem.ven.println (b + "je večji od" + a);
// Glavni razred
razred povzetek3
public static void main (String [] args)
// Ustvari objekt podrazreda
findMax fmax = nov findMax (34,89);
// Poiščimo največ
fmax.maxval ();
Izhod:
Po zagonu skripta se prikaže naslednji izhod. Tukaj, 34 in 89 so podane kot vrednosti parametrov konstruktorja. Te vrednosti se primerjajo z abstraktno metodo, ki je implementirana v podrazred, in natisnejo naslednje sporočilo.
Zaključek:
Za bolj organiziran in razumljiv program se uporablja abstraktni tečaj. Več sorodnih razredov je mogoče razvrstiti v skupine z uporabo abstraktnih razredov. Koncept in izvedba abstraktnega razreda z različnimi deli so razloženi v tej vadnici s preprostimi primeri. Upam, da bodo bralci po branju te vadnice razumeli uporabo abstraktnega predavanja in ga pravilno uporabili v svoji kodi.