Syntax:
abstraktná trieda classNamepremenné_názvy;
abstraktná metóda1 ();
public method2 ()
výroky 1… N
Abstraktná trieda môže obsahovať atribúty alebo premenné, abstraktnú metódu a normálnu metódu alebo ktorúkoľvek z nich. Ale podtrieda abstraktnej triedy môže implementovať iba abstraktnú metódu abstraktnej triedy.
Príklad 1: Abstraktná trieda s verejnou metódou
Nasledujúci príklad ukazuje, ako môžete deklarovať abstraktnú triedu pomocou verejnej metódy a spôsob použitia abstraktnej triedy vytvorením podtriedy. Tu abstraktná trieda obsahuje verejnú metódu s názvom podrobnosti () ktorý je implementovaný vo vnútri abstraktnej triedy. Objekt podtriedy je vytvorený na prístup k verejnej metóde abstraktnej triedy.
// Definujte abstraktnú triedu verejnou metódouabstraktná triedna kniha
podrobnosti verejnej neplatnosti ()
Systém.von.println ("Názov knihy: Naučte sa PHP za 15 minút");
Systém.von.println ("Meno autora: Jake Wright");
Systém.von.println ("Zlacnená cena: 35 dolárov");
// Definujte podtriedu
trieda php rozširuje knihu
// Hlavná trieda
abstrakt triedy1
public static void main (String [] args)
php bk = nový php ();
bk.podrobnosti ();
Výkon:
Po spustení kódu sa objaví nasledujúci výstup. Tu je podrobnosti () Zavolá sa metóda abstraktnej triedy a text sa vytlačí z metódy.
Príklad 2: Abstraktná trieda s abstraktnou metódou a verejnou metódou
Nasledujúci príklad ukazuje, ako možno deklarovať abstraktnú triedu pomocou premenných, abstraktnej metódy a verejnej metódy. Príkazy verejnej metódy sú definované vo vnútri abstraktnej triedy, ale telo abstraktnej metódy je prázdne, čo je implementované vo vnútri podtriedy abstraktnej triedy. Tu sa deklarujú dve podtriedy rozšírením abstraktnej triedy. Podtrieda bola pomenovaná námestie vypočíta a vytlačí plochu štvorca na základe hodnoty n premenná. Podtrieda bola pomenovaná obdĺžnik vypočíta a vytlačí plochu obdĺžnika na základe hodnoty h a w premenné. Verejná metóda, readData () sa volá parametrom s názvom typu na identifikáciu toho, ktoré premenné abstraktnej triedy sa inicializujú. Hodnota typu premenná bude 1 pre inicializáciu hodnoty n a 2 na inicializáciu hodnoty h a w.
// Definujte abstraktnú triedu pomocou abstraktnej metódy a verejnej metódyabstraktná oblasť triedy
public int n, h, w;
výsledok abstraktnej neplatnosti ();
public void readData (typ int)
ak (typ == 1)
n = 10;
else
h = 20;
w = 30;
// Definujte štvorcovú podtriedu
štvorec triedy rozširuje plochu
výsledok verejnej neplatnosti ()
// Vypočítajte plochu štvorca
int areaVal = n * n;
Systém.von.println ("Plocha štvorca je" + areaVal);
// Definujte podtriedu obdĺžnika
obdĺžnik triedy rozširuje oblasť
výsledok verejnej neplatnosti ()
// Vypočítajte plochu obdĺžnika
int areaVal = h * w;
Systém.von.println ("Oblasť obdĺžnika je" + areaVal);
// Hlavná trieda
abstrakt triedy2
public static void main (String [] args)
// Vytvorenie objektu štvorcovej triedy
štvorec štvorcový = nový štvorec ();
štvorcový.readData (1);
štvorcový.výsledok ();
// Vytvorenie objektu triedy obdĺžnika
obdĺžnik rq = nový obdĺžnik ();
rq.readData (2);
rq.výsledok ();
Výkon:
Po spustení kódu sa objaví nasledujúci výstup. Výstup ukazuje plochu štvorca, kde je hodnota n je 10 a plocha obdĺžnika, kde je hodnota h je 20, a hodnota w je 30.
Príklad-3: Abstraktná trieda s konštruktorom
Nasledujúci príklad ukazuje, ako možno konštruktor deklarovať a použiť v rámci abstraktnej triedy. Konštruktor abstraktnej triedy inicializuje hodnoty a a b. Abstraktná metóda, maxval () je implementovaný v podtriede s názvom findMax. Super() metóda sa používa v konštruktore podtriedy na volanie konštruktora abstraktnej triedy. Abstraktná metóda maxval () zistí maximálnu hodnotu dvoch čísel, ktoré budú dané parametrom konštruktora podtriedy v čase vytvárania objektu.
// Definujte abstraktnú triedu pomocou konštruktoraabstraktné čísla tried
// deklarovať premenné
chránený konečný int a, b;
// konštruktor abstraktnej triedy
verejné čísla (int x, int y)
toto.a = x;
toto.b = y;
// Verejná metóda
public abstract void maxval ();
// Definujte podtriedu
trieda findMax rozširuje čísla
// Konštruktor podtriedy
public findMax (int x, int y)
// Zavolajte konštruktéra abstraktnej triedy
super (x, y);
// Implementujte abstraktnú metódu
public void maxval ()
ak (a> b)
Systém.von.println (a + "je väčšie ako" + b);
else
Systém.von.println (b + "je väčšie ako" + a);
// Hlavná trieda
abstrakt triedy3
public static void main (String [] args)
// Vytvorenie objektu podtriedy
findMax fmax = nový findMax (34,89);
// Nájdite maximum
fmax.maxval ();
Výkon:
Po spustení skriptu sa zobrazí nasledujúci výstup. Tu, 34 a 89 sú dané ako hodnoty parametrov konštruktora. Tieto hodnoty sa porovnávajú v abstraktnej metóde, ktorá je implementovaná v podtriede, a vytlačia nasledujúcu správu.
Záver:
Na zaistenie lepšej organizácie a zrozumiteľnosti programu sa používa abstraktná trieda. Niekoľko príbuzných tried je možné zoskupiť pomocou abstraktných tried. Koncept a implementácia abstraktnej triedy s rôznymi časťami sú v tejto príručke vysvetlené na jednoduchých príkladoch. Dúfam, že čitatelia budú po prečítaní tohto tutoriálu schopní pochopiť použitie abstraktnej triedy a správne ju uplatniť vo svojom kóde.