Java

Java abstraktā klase

Java abstraktā klase
Abstrakcijas jēdziens ir izcelt objekta uzdevumu, nevis izcelt “kā objekts veic uzdevumu”. Šāda veida koncepciju var īstenot, izmantojot Java divos veidos. Tie ir abstraktā klase un saskarne. Abstraktā klasē ir atslēgvārds abstrakts. Šo klasi nevar sākt tāpat kā citas parastās klases, bet apakšklasi var iegūt, mantojot abstrakto klasi. Abstraktās klases funkcijām var piekļūt, izveidojot apakšklases objektu. Abstraktā klase var saturēt arī konstruktoru, kuram var piekļūt, izveidojot apakšklases klases objektu. Kā jūs varat izmantot abstraktu klasi Java, ir parādīts šajā apmācībā.

Sintakse:

abstraktā klase className
mainīgie_nosaukumi;
abstraktā metode1 ();
publiskā metode2 ()
paziņojumi 1… N

Abstraktā klase var saturēt atribūtu vai mainīgos, abstrakto metodi un parasto metodi vai jebkuru no tiem. Bet abstraktās klases apakšklase var īstenot tikai abstraktās klases abstrakto metodi.

1. piemērs: Abstrakta klase ar publisku metodi

Šis piemērs parāda, kā jūs varat deklarēt abstraktu klasi ar publisku metodi un abstraktas klases izmantošanas veidu, izveidojot apakšklasi. Šeit abstraktā klase satur publisku metodi ar nosaukumu informācija () kas tiek realizēts abstraktās klases iekšienē. Apakšklases objekts tiek izveidots, lai piekļūtu abstraktās klases publiskajai metodei.

// Definējiet abstrakto klasi ar publisko metodi
abstrakta klases grāmata
publiska anulēta informācija ()
Sistēma.ārā.println ("Grāmatas nosaukums: iemācieties PHP 15 minūtēs");
Sistēma.ārā.println ("Autora vārds: Džeiks Raits");
Sistēma.ārā.println ("Atlaides cena: 35 USD");


// Definējiet apakšklasi
klases php paplašina grāmatu

// Galvenā klase
klases referāts1
public static void main (String [] args)
php bk = jauns php ();
bk.informācija ();

Izeja:

Pēc koda palaišanas parādīsies šāda izeja. Lūk, informācija () tiek saukta abstraktās klases metode, un teksts tiek izdrukāts no metodes.

2. piemērs: Abstraktā klase ar abstrakto metodi un publisko metodi

Šis piemērs parāda, kā abstrakto klasi var deklarēt ar mainīgajiem, abstraktu metodi un publisku metodi. Publiskās metodes paziņojumi ir definēti abstraktās klases iekšienē, bet abstraktās metodes pamatteksts ir tukšs, kas tiek ieviests abstraktās klases apakšklasē. Šeit tiek pasludinātas divas apakšklases, paplašinot abstrakto klasi. Nosauktā apakšklase kvadrāts aprēķinās un izdrukās kvadrāta laukumu, pamatojoties uz vērtību n mainīgais. Nosauktā apakšklase taisnstūris aprēķinās un izdrukās taisnstūra laukumu, pamatojoties uz vērtību h un w mainīgie. Publiskā metode, readData () tiek izsaukts ar parametru ar nosaukumu tips lai noteiktu, kurš (-ie) abstraktās klases mainīgais (-i) tiks inicializēti. Vērtība tips mainīgais būs 1, lai inicializētu vērtību n un 2 vērtības inicializēšanai h un w.

// Definējiet abstraktu klasi ar abstraktu metodi un publisku metodi
abstrakts klases apgabals
public int n, h, w;
abstrakts tukšs rezultāts ();
public void readData (int tips)
ja (tips == 1)
n = 10;

cits
h = 20;
w = 30;



// Definējiet kvadrātveida apakšklasi
klases laukums paplašina laukumu
public void rezultāts ()
// Aprēķiniet kvadrāta laukumu
int apgabalsVal = n * n;
Sistēma.ārā.println ("Kvadrāta laukums ir" + areaVal);


// Definējiet taisnstūra apakšklasi
klases taisnstūris paplašina laukumu
public void rezultāts ()
// Aprēķiniet taisnstūra laukumu
int apgabalsVal = h * w;
Sistēma.ārā.println ("Taisnstūra laukums ir" + areaVal);


// Galvenā klase
klase abstrakts2
public static void main (String [] args)
// Izveidot kvadrātveida klases objektu
kvadrātveida kv = jauns kvadrāts ();
kv.readData (1);
kv.rezultāts ();
// Izveidot taisnstūra klases objektu
taisnstūris rq = jauns taisnstūris ();
rq.readData (2);
rq.rezultāts ();

Izeja:

Pēc koda palaišanas parādīsies šāda izeja. Rezultātā tiek parādīts laukuma laukums, kur vērtība n ir 10 un taisnstūra laukums, kur vērtība h ir 20, un vērtība w ir 30.

3. piemērs: Abstrakta klase ar konstruktoru

Šis piemērs parāda, kā konstruktoru var deklarēt un izmantot abstraktā klasē. Abstraktās klases konstruktors inicializēs a un b. Abstraktā metode, maxval () tiek ieviesta nosauktajā apakšklasē atrastMaks. super () metodi apakšklases konstruktorā izmanto, lai izsauktu abstraktas klases konstruktoru. Abstraktā metode maxval () uzzinās divu skaitļu maksimālo vērtību, kas objekta izveides laikā tiks piešķirta apakšklases konstruktora parametriem.

// Definējiet abstraktu klasi ar konstruktoru
abstrakti klases numuri
// deklarēt mainīgos
aizsargāts gala int a, b;
// abstraktās klases konstruktors
publiskie numuri (int x, int y)
šo.a = x;
šo.b = y;

// Publiskā metode
publisks abstrakts void maxval ();

// Definējiet apakšklasi
klases findMax paplašina skaitļus
// Apakšklases konstruktors
public findMax (int x, int y)
// Zvaniet abstraktās klases konstruktoram
super (x, y);

// Īstenot abstraktu metodi
public void maxval ()
ja (a> b)
Sistēma.ārā.println (a + "ir lielāks par" + b);

cits
Sistēma.ārā.println (b + "ir lielāks par" + a);



// Galvenā klase
klases abstrakts3
public static void main (String [] args)
// Izveidot apakšklases objektu
findMax fmax = jauns findMax (34,89);
// Atrodiet maksimumu
fmax.maxval ();

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja. Šeit, 34 un 89 tiek doti kā konstruktora parametru vērtības. Šīs vērtības tiek salīdzinātas abstraktā metodē, kas tiek ieviesta apakšklasē, un tiek izdrukāts šāds ziņojums.

Secinājums:

Lai programmu padarītu organizētāku un saprotamāku, tiek izmantota abstrakta klase. Vairākas saistītās klases var grupēt, izmantojot abstraktas klases. Šajā apmācībā, izmantojot vienkāršus piemērus, ir izskaidrots abstraktās klases ar dažādām daļām jēdziens un ieviešana. Es ceru, ka lasītāji varēs saprast abstraktās klases lietojumu un pareizi pielietot to savā kodā pēc šīs apmācības izlasīšanas.

Kā mainīt peles rādītāja un kursora izmēru, krāsu un shēmu operētājsistēmā Windows 10
Peles rādītājs un kursors operētājsistēmā Windows 10 ir ļoti svarīgi operētājsistēmas aspekti. To var teikt arī par citām operētājsistēmām, tāpēc pati...
Bezmaksas un atvērtā koda spēļu dzinēji Linux spēļu izstrādei
Šis raksts aptvers bezmaksas un atvērtā koda spēļu motoru sarakstu, kurus var izmantot, lai izstrādātu 2D un 3D spēles Linux. Šādu spēļu dzinēju ir da...
Tomb Raider for Linux apmācība
Tomb Raider ēna ir divpadsmitais papildinājums Tomb Raider sērijai - darbības piedzīvojumu spēļu franšīzei, kuru izveidoja Eidos Montreal. Spēli gan k...