Java

Apstraktni razred Java

Apstraktni razred Java
Koncept apstrakcije je istaknuti zadatak objekta umjesto da istakne, "kako objekt izvršava zadatak". Ova vrsta koncepta može se implementirati na dva načina u Javi. To su apstraktna klasa i sučelje. Sažetak klase sadrži ključnu riječ sažetak. Ova se klasa ne može pokrenuti kao ostale normalne klase, ali se podklasa može izvesti nasljeđivanjem apstraktne klase. Značajkama apstraktne klase može se pristupiti stvaranjem objekta podklase. Apstraktna klasa može sadržavati i konstruktor kojem se može pristupiti stvaranjem objekta klase podklase. Kako možete koristiti apstraktnu klasu u Javi, prikazano je u ovom vodiču.

Sintaksa:

sažetak klase className
imena varijabli;
apstraktna metoda1 ();
javna metoda2 ()
izjave 1… N

Apstraktna klasa može sadržavati atribut ili varijable, apstraktnu metodu i normalnu metodu ili bilo koju od njih. Ali potklasa apstraktne klase može implementirati samo apstraktnu metodu apstraktne klase.

Primjer-1: Sažetak predavanja javnom metodom

Sljedeći primjer pokazuje kako apstraktnu klasu možete deklarirati javnom metodom i način upotrebe apstraktne klase stvaranjem potklase. Ovdje apstraktna klasa sadrži javnu metodu imenovanu detalji () koja se implementira unutar apstraktne klase. Objekt potklase stvoren je za pristup javnoj metodi apstraktne klase.

// Definiranje apstraktne klase javnom metodom
sažetak predavanja
detalji o javnoj praznini ()
Sustav.van.println ("Naziv knjige: naučite PHP za 15 minuta");
Sustav.van.println ("Ime autora: Jake Wright");
Sustav.van.println ("Cijena s popustom: 35 USD");


// Definiraj podrazred
class php produžuje book

// Glavna klasa
sažetak klase1
javna statička void glavna (String [] args)
php bk = novi php ();
bk.detalji ();

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja koda. Evo, detalji () poziva se metoda apstraktne klase, a tekst se ispisuje iz metode.

Primjer-2: Apstraktni tečaj apstraktnom metodom i javnom metodom

Sljedeći primjer pokazuje kako se apstraktna klasa može deklarirati s varijablama, apstraktnom metodom i javnom metodom. Navodi javne metode definirani su unutar apstraktne klase, ali tijelo apstraktne metode je prazno što je implementirano unutar podklase apstraktne klase. Ovdje se deklariraju dvije potklase proširenjem apstraktne klase. Podrazred imenovan kvadrat izračunat će i ispisati površinu kvadrata na temelju vrijednosti n varijabilna. Podrazred imenovan pravokutnik izračunat će i ispisati površinu pravokutnika na temelju vrijednosti h i w varijable. Javna metoda, readData () naziva se parametrom imenovanim tip kako bi se identificiralo koja će varijabla (e) apstraktne klase biti inicijalizirana. Vrijednost tip varijabla bit će 1 za inicijalizaciju vrijednosti n i 2 za inicijalizaciju vrijednosti h i w.

// Definiranje apstraktne klase apstraktnom metodom i javnom metodom
apstraktno područje predavanja
javni int n, h, w;
apstraktni void rezultat ();
javna praznina readData (int vrsta)
ako (upišite == 1)
n = 10;

inače
h = 20;
w = 30;



// Definiraj kvadratni podrazred
razred kvadrata proteže područje
rezultat javne praznine ()
// Izračunaj površinu kvadrata
int areaVal = n * n;
Sustav.van.println ("Površina kvadrata je" + areaVal);


// Definiraj podrazred pravokutnika
razred pravokutnik proteže područje
javni void rezultat ()
// Izračunaj površinu pravokutnika
int areaVal = h * w;
Sustav.van.println ("Površina pravokutnika je" + areaVal);


// Glavna klasa
sažetak klase2
javna statička void glavna (String [] args)
// Stvaranje objekta klase kvadrat
kvadrat sq = novi kvadrat ();
kvadrat.readData (1);
kvadrat.proizlaziti();
// Stvaranje objekta klase pravokutnika
pravokutnik rq = novi pravokutnik ();
rq.readData (2);
rq.proizlaziti();

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja koda. Izlaz prikazuje površinu kvadrata na kojoj je vrijednost n je 10 i površina pravokutnika gdje je vrijednost h je 20, i vrijednost w je 30.

Primjer-3: Apstraktna klasa s konstruktorom

Sljedeći primjer pokazuje kako se konstruktor može deklarirati i koristiti unutar apstraktne klase. Konstruktor apstraktne klase inicijalizirat će vrijednosti a i b. Apstraktna metoda, maxval () implementiran je u podrazred imenovan findMax. super() metoda koristi se u konstruktoru potklase za pozivanje konstruktora apstraktne klase. Apstraktna metoda maxval () saznat će maksimalnu vrijednost dva broja koja će biti dana parametrima konstruktora podrazreda u vrijeme stvaranja objekta.

// Definirajte apstraktnu klasu s konstruktorom
apstraktni brojevi razreda
// deklariramo varijable
zaštićeni završni int a, b;
// konstruktor apstraktne klase
javni brojevi (int x, int y)
ovaj.a = x;
ovaj.b = y;

// Javna metoda
javna sažetak void maxval ();

// Definiraj podrazred
klasa findMax proširuje brojeve
// Konstruktor podrazreda
javni findMax (int x, int y)
// Poziv konstruktora apstraktne klase
super (x, y);

// Provesti apstraktnu metodu
javna praznina maxval ()
ako (a> b)
Sustav.van.println (a + "je veće od" + b);

inače
Sustav.van.println (b + "je veći od" + a);



// Glavna klasa
sažetak klase3
javna statička void glavna (String [] args)
// Stvaranje objekta potklase
findMax fmax = novi findMax (34,89);
// Pronađite maksimum
fmax.maxval ();

Izlaz:

Sljedeći će se izlaz pojaviti nakon pokretanja skripte. Ovdje, 34 i 89 daju se kao vrijednosti parametara konstruktora. Te se vrijednosti uspoređuju u apstraktnoj metodi koja je implementirana u podrazred i ispisuje sljedeću poruku.

Zaključak:

Apstraktna nastava koristi se kako bi program bio organiziraniji i razumljiviji. Nekoliko srodnih klasa može se grupirati pomoću apstraktnih klasa. Koncept i provedba apstraktne klase s različitim dijelovima objasnjeni su u ovom vodiču pomoću jednostavnih primjera. Nadam se da će čitatelji moći razumjeti upotrebu apstraktne klase i pravilno je primijeniti u svom kodu nakon što pročitaju ovaj vodič.

Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...
10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...