Java

Java abstrakti luokka

Java abstrakti luokka
Abstraktion käsite on korostaa kohteen tehtävä sen sijaan, että korostettaisiin, "kuinka esine tekee tehtävän". Tämäntyyppinen konsepti voidaan toteuttaa kahdella tavalla Java-sovelluksessa. Nämä ovat abstrakti luokka ja käyttöliittymä. Abstrakti luokka sisältää avainsanan abstrakti. Tätä luokkaa ei voida aloittaa kuten muita normaaliluokkia, mutta aliluokka voidaan johtaa perimällä abstrakti luokka. Abstraktin luokan ominaisuuksiin pääsee luomalla alaluokan objektin. Abstrakti luokka voi sisältää myös konstruktorin, johon pääsee luomalla alaluokan luokan objektin. Abstraktin luokan käyttäminen Java-ohjelmassa näkyy tässä opetusohjelmassa.

Syntaksi:

abstrakti luokka className
muuttujan_nimet;
abstrakti menetelmä1 ();
julkinen menetelmä2 ()
lausunnot 1… N

Abstrakti luokka voi sisältää attribuutin tai muuttujia, abstraktin menetelmän ja normaalimenetelmän tai minkä tahansa niistä. Mutta abstraktin luokan alaluokka voi toteuttaa vain abstraktin luokan abstraktin menetelmän.

Esimerkki 1: Abstrakti luokka julkisella menetelmällä

Seuraava esimerkki osoittaa, kuinka abstrakti luokka voidaan julistaa julkisella menetelmällä ja abstraktin luokan käyttötapa luomalla alaluokka. Tässä abstrakti luokka sisältää julkisen menetelmän nimeltä yksityiskohdat() joka toteutetaan abstraktin luokan sisällä. Alaluokan kohde luodaan abstraktin luokan julkisen menetelmän käyttämiseksi.

// Määritä abstrakti luokka julkisella menetelmällä
abstrakti luokan kirja
julkiset tyhjät tiedot ()
Järjestelmä.ulos.println ("Kirjan nimi: Opi PHP 15 minuutissa");
Järjestelmä.ulos.println ("Kirjoittajan nimi: Jake Wright");
Järjestelmä.ulos.println ("Alennushinta: 35 dollaria");


// Määritä alaluokka
luokan php laajentaa kirjaa

// Pääluokka
luokan tiivistelmä1
public staattinen void main (String [] argumentoi)
php bk = uusi php ();
bk.yksityiskohdat();

Tuotos:

Seuraava tulos tulee näkyviin koodin suorittamisen jälkeen. Tässä yksityiskohdat() kutsutaan abstraktin luokan menetelmää ja teksti tulostetaan menetelmästä.

Esimerkki 2: Abstrakti luokka abstraktilla menetelmällä ja julkisella menetelmällä

Seuraava esimerkki osoittaa, kuinka abstrakti luokka voidaan ilmoittaa muuttujilla, abstraktilla menetelmällä ja julkisella menetelmällä. Julkisen menetelmän lauseet määritellään abstraktin luokan sisällä, mutta abstraktin menetelmän runko on tyhjä, joka toteutetaan abstraktin luokan alaluokan sisällä. Tässä ilmoitetaan kaksi alaluokkaa laajentamalla abstraktia luokkaa. Nimetty alaluokka neliö- laskee ja tulostaa neliön pinta-alan arvon perusteella n muuttuja. Nimetty alaluokka suorakulmio laskee ja tulostaa suorakulmion alueen arvon perusteella h ja w muuttujat. Julkinen menetelmä, readData () kutsutaan parametrilla nimeltä tyyppi sen tunnistamiseksi, mitkä abstraktin luokan muuttujat aloitetaan. Arvo tyyppi muuttuja on 1 arvon alustaessa n ja 2 arvon alustamiseksi h ja w.

// Määritä abstrakti luokka abstraktilla menetelmällä ja julkisella menetelmällä
abstrakti luokan alue
julkinen int n, h, w;
abstrakti mitätön tulos ();
public void readData (int-tyyppi)
jos (tyyppi == 1)
n = 10;

muu
h = 20;
w = 30;



// Määritä neliön alaluokka
luokan neliö laajentaa aluetta
public void tulos ()
// Laske neliön pinta-ala
int-alueVal = n * n;
Järjestelmä.ulos.println ("Neliön pinta-ala on" + areaVal);


// Määritä suorakulmion alaluokka
luokan suorakulmio laajentaa aluetta
public void tulos ()
// Laske suorakulmion pinta-ala
int-alueVal = h * w;
Järjestelmä.ulos.println ("Suorakulmion alue on" + areaVal);


// Pääluokka
luokan tiivistelmä2
public staattinen void main (String [] argumentoi)
// Luo neliön luokan objekti
neliö sq = uusi neliö ();
neliömetriä.readData (1);
neliömetriä.tulos();
// Luo suorakulmion luokan objekti
suorakulmio rq = uusi suorakulmio ();
rq.readData (2);
rq.tulos();

Tuotos:

Seuraava tulos tulee näkyviin koodin suorittamisen jälkeen. Tulos näyttää neliön alueen, jossa arvo n On 10 ja suorakulmion alue, jossa arvo h On 20, ja arvo w On 30.

Esimerkki 3: Abstrakti luokka rakentajan kanssa

Seuraava esimerkki osoittaa, kuinka konstruktori voidaan julistaa ja käyttää abstraktissa luokassa. Abstraktin luokan rakentaja alustaa arvon a ja b. Abstrakti menetelmä, maxval () on toteutettu nimellisessä alaluokassa findMax. super () menetelmää käytetään alaluokan konstruktorissa kutsumaan abstraktin luokan rakentaja. Abstrakti menetelmä maxval () selvittää kahden luvun enimmäisarvon, joka annetaan alaluokan rakentajan parametreille objektin luontihetkellä.

// Määritä abstrakti luokka konstruktorilla
abstraktit luokanumerot
// julista muuttujat
suojattu loppu int a, b;
// abstrakti luokan rakentaja
julkiset numerot (int x, int y)
Tämä.a = x;
Tämä.b = y;

// Julkinen menetelmä
julkinen abstrakti void maxval ();

// Määritä alaluokka
luokan findMax laajentaa numeroita
// Alaluokan rakentaja
public findMax (int x, int y)
// Kutsu abstraktin luokan rakentajaa
super (x, y);

// Toteuta abstrakti menetelmä
public void maxval ()
jos (a> b)
Järjestelmä.ulos.println (a + "on suurempi kuin" + b);

muu
Järjestelmä.ulos.println (b + "on suurempi kuin" + a);



// Pääluokka
luokan tiivistelmä3
public staattinen void main (String [] argumentoi)
// Luo alaluokan objekti
findMax fmax = uusi findMax (34,89);
// Etsi suurin
fmax.maxval ();

Tuotos:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen. Tässä, 34 ja 89 annetaan konstruktorin parametriarvoina. Näitä arvoja verrataan alaluokassa toteutetussa abstraktissa menetelmässä ja tulostetaan seuraava viesti.

Päätelmä:

Abstraktia luokkaa käytetään tekemään ohjelmasta järjestäytyneempi ja ymmärrettävämpi. Useat aiheeseen liittyvät luokat voidaan ryhmitellä abstraktien luokkien avulla. Abstraktin luokan käsite ja toteutus eri osilla selitetään tässä opetusohjelmassa yksinkertaisten esimerkkien avulla. Toivon, että lukijat pystyvät ymmärtämään abstraktin luokan käytön ja soveltamaan sitä koodissaan oikein luettuaan tämän opetusohjelman.

OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...