Syntax:
abstraktní třída classNamevariabilní_jména;
abstraktní metoda1 ();
public method2 ()
prohlášení 1… N
Abstraktní třída může obsahovat atributy nebo proměnné, abstraktní metodu a normální metodu nebo kohokoli z nich. Ale podtřída abstraktní třídy může implementovat pouze abstraktní metodu abstraktní třídy.
Příklad 1: Abstraktní třída s veřejnou metodou
Následující příklad ukazuje, jak můžete deklarovat abstraktní třídu pomocí veřejné metody a způsob použití abstraktní třídy vytvořením podtřídy. Tady abstraktní třída obsahuje veřejnou metodu s názvem podrobnosti () který je implementován uvnitř abstraktní třídy. Objekt podtřídy je vytvořen pro přístup k veřejné metodě abstraktní třídy.
// Definujte abstraktní třídu pomocí veřejné metodyabstraktní třídní kniha
public void details ()
Systém.ven.println ("Název knihy: Naučte se PHP za 15 minut");
Systém.ven.println ("Jméno autora: Jake Wright");
Systém.ven.println ("Sleva Cena: $ 35");
// Definujte podtřídu
třída php rozšiřuje knihu
// Hlavní třída
abstrakt třídy1
public static void main (String [] args)
php bk = nový php ();
bk.podrobnosti ();
Výstup:
Po spuštění kódu se zobrazí následující výstup. Tady podrobnosti () metoda abstraktní třídy je volána a text je vytištěn z metody.
Příklad 2: Abstraktní třída s abstraktní metodou a veřejnou metodou
Následující příklad ukazuje, jak lze deklarovat abstraktní třídu s proměnnými, abstraktní metodou a veřejnou metodou. Příkazy veřejné metody jsou definovány uvnitř abstraktní třídy, ale tělo abstraktní metody je prázdné, což je implementováno uvnitř podtřídy abstraktní třídy. Zde jsou dvě podtřídy deklarovány rozšířením abstraktní třídy. Pojmenovaná podtřída náměstí vypočítá a vytiskne plochu čtverce na základě hodnoty n proměnná. Pojmenovaná podtřída obdélník vypočítá a vytiskne plochu obdélníku na základě hodnoty h a w proměnné. Veřejná metoda, readData () je volána parametrem s názvem typ identifikovat, které proměnné abstraktní třídy budou inicializovány. Hodnota typ proměnná bude 1 pro inicializaci hodnoty n a 2 pro inicializaci hodnoty h a w.
// Definujte abstraktní třídu pomocí abstraktní metody a veřejné metodyoblast abstraktní třídy
public int n, h, w;
výsledek abstraktní neplatnosti ();
public void readData (typ int)
if (type == 1)
n = 10;
else
h = 20;
w = 30;
// Definujte čtvercovou podtřídu
čtverec třídy rozšiřuje plochu
výsledek veřejné neplatnosti ()
// Vypočítejte plochu čtverce
int areaVal = n * n;
Systém.ven.println ("Plocha čtverce je" + areaVal);
// Definujte podtřídu obdélníku
obdélník třídy rozšiřuje oblast
výsledek veřejné neplatnosti ()
// Vypočítejte plochu obdélníku
int areaVal = h * w;
Systém.ven.println ("Oblast obdélníku je" + areaVal);
// Hlavní třída
abstrakt třídy2
public static void main (String [] args)
// Vytvoří objekt čtvercové třídy
square sq = new square ();
čtvereční.readData (1);
čtvereční.výsledek();
// Vytvořit objekt třídy obdélníku
obdélník rq = nový obdélník ();
žád.readData (2);
žád.výsledek();
Výstup:
Po spuštění kódu se zobrazí následující výstup. Výstup ukazuje plochu čtverce, kde je hodnota n je 10 a oblast obdélníku, kde je hodnota h je 20, a hodnota w je 30.
Příklad-3: Abstraktní třída s konstruktorem
Následující příklad ukazuje, jak lze konstruktor deklarovat a použít v rámci abstraktní třídy. Konstruktor abstraktní třídy inicializuje hodnoty A a b. Abstraktní metoda, maxval () je implementován v podtřídě s názvem findMax. super () metoda se používá v konstruktoru podtřídy k volání konstruktoru abstraktní třídy. Abstraktní metoda maxval () zjistí maximální hodnotu dvou čísel, která budou dána parametrům konstruktoru podtřídy v době vytváření objektu.
// Definujte abstraktní třídu pomocí konstruktoruabstraktní čísla tříd
// deklarovat proměnné
chráněný konečný int a, b;
// abstraktní konstruktor třídy
veřejná čísla (int x, int y)
tento.a = x;
tento.b = y;
// Veřejná metoda
public abstract void maxval ();
// Definujte podtřídu
třída findMax rozšiřuje čísla
// Konstruktor podtřídy
public findMax (int x, int y)
// Volání konstruktoru abstraktní třídy
super (x, y);
// Implementujte abstraktní metodu
public void maxval ()
if (a> b)
Systém.ven.println (a + "je větší než" + b);
else
Systém.ven.println (b + "je větší než" + a);
// Hlavní třída
třída abstrakt3
public static void main (String [] args)
// Vytvořit objekt podtřídy
findMax fmax = nový findMax (34,89);
// Najděte maximum
fmax.maxval ();
Výstup:
Po spuštění skriptu se zobrazí následující výstup. Tady, 34 a 89 jsou uvedeny jako hodnoty parametrů konstruktoru. Tyto hodnoty jsou porovnány v abstraktní metodě, která je implementována v podtřídě a vytištěna následující zpráva.
Závěr:
Pro lepší organizaci a srozumitelnost programu se používá abstraktní třída. Několik souvisejících tříd lze seskupit pomocí abstraktních tříd. Koncept a implementace abstraktní třídy s různými částmi jsou vysvětleny v tomto kurzu pomocí jednoduchých příkladů. Doufám, že čtenáři budou schopni porozumět používání abstraktní třídy a po přečtení tohoto tutoriálu ji správně použít ve svém kódu.