Jáva

Java abstraktní třída

Java abstraktní třída
Koncept abstrakce spočívá ve zvýraznění úkolu objektu namísto zvýraznění „jak objekt plní úkol“. Tento typ konceptu lze v Javě implementovat dvěma způsoby. Jedná se o abstraktní třídu a rozhraní. Abstraktní třída obsahuje klíčové slovo abstraktní. Tuto třídu nelze zahájit jako jiné běžné třídy, ale podtřídu lze odvodit zděděním abstraktní třídy. K vlastnostem abstraktní třídy lze přistupovat vytvořením objektu podtřídy. Abstraktní třída může také obsahovat konstruktor, ke kterému lze přistupovat vytvořením objektu třídy podtřídy. Jak můžete použít abstraktní třídu v Javě je uvedeno v tomto kurzu.

Syntax:

abstraktní třída className
variabilní_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é metody
abstraktní 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é metody
oblast 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í konstruktoru
abstraktní čí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.

Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...
Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...
Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...