Jáva

Java absztrakt osztály

Java absztrakt osztály
Az absztrakció fogalma az objektum feladatának kiemelése ahelyett, hogy kiemelné, „hogy az objektum hogyan végzi a feladatot”. Ez a fajta koncepció kétféleképpen valósítható meg a Java-ban. Ezek az absztrakt osztály és felület. Az absztrakt osztály tartalmazza a kulcsszót absztrakt. Ez az osztály nem indítható el, mint más normál osztályok, de egy alosztályt az absztrakt osztály öröklésével lehet levezetni. Az absztrakt osztály jellemzői az alosztály objektumának létrehozásával érhetők el. Az absztrakt osztály tartalmazhatja azt a konstruktort is, amelyhez az alosztály osztály objektumának létrehozásával lehet hozzáférni. Ez az oktatóanyag bemutatja, hogyan használhatja az elvont osztályt a Java-ban.

Szintaxis:

absztrakt osztály className
változó_nevek;
absztrakt módszer1 ();
nyilvános módszer2 ()
nyilatkozatok 1… N

Az absztrakt osztály tartalmazhat attribútumot vagy változót, absztrakt módszert és normál metódust, vagy bárkit. De az absztrakt osztály alosztálya csak az absztrakt osztály absztrakt módszerét tudja megvalósítani.

1. példa: Absztrakt osztály nyilvános módszerrel

A következő példa bemutatja, hogyan deklarálhat egy absztrakt osztályt nyilvános módszerrel, és az absztrakt osztály használatának módját egy alosztály létrehozásával. Itt az absztrakt osztály egy nyilvános módszert tartalmaz részletek() amely az absztrakt osztályon belül valósul meg. Az alosztály objektuma az absztrakt osztály nyilvános módszerének eléréséhez jön létre.

// Definiálja az absztrakt osztályt nyilvános módszerrel
absztrakt osztálykönyv
public void részletek ()
Rendszer.ki.println ("Könyv neve: Ismerje meg a PHP-t 15 perc alatt");
Rendszer.ki.println ("Szerző neve: Jake Wright");
Rendszer.ki.println ("Kedvezményes ár: 35 USD");


// Define subclass
osztály php kiterjeszti könyvet

// Főosztály
osztály absztrakt1
public static void main (String [] érvel)
php bk = új php ();
bk.részletek();

Kimenet:

A következő kimenet jelenik meg a kód futtatása után. Itt a részletek() az absztrakt osztály metódusát hívják meg, és a szöveget a módszerből nyomtatják ki.

2. példa: Absztrakt osztály absztrakt módszerrel és nyilvános módszerrel

A következő példa bemutatja, hogyan lehet egy absztrakt osztályt deklarálni változókkal, absztrakt módszerrel és nyilvános módszerrel. A nyilvános módszer állításait az absztrakt osztályon belül definiálják, de az absztrakt módszer törzse üres, amelyet az absztrakt osztály alosztályán belül hajtanak végre. Itt két alosztályt deklarálunk az absztrakt osztály kiterjesztésével. A megnevezett alosztály négyzet kiszámítja és kinyomtatja egy négyzet területét a. értéke alapján n változó. A megnevezett alosztály téglalap kiszámítja és kinyomtatja a téglalap területét a h és w változók. A nyilvános módszer, readData () nevű paraméterrel hívjuk meg típus annak meghatározása, hogy az absztrakt osztály mely változói kerülnek inicializálásra. A. Értéke típus változó 1 lesz az érték inicializálásához n és 2 a. értékének inicializálásához h és w.

// Adjon meg egy elvont osztályt egy elvont módszerrel és egy nyilvános módszerrel
absztrakt osztályterület
nyilvános int n, h, w;
absztrakt érvénytelen eredmény ();
public void readData (int típus)
if (type == 1)
n = 10;

más
h = 20;
w = 30;



// Definiálja a négyzet alakú alosztályt
osztály tér területe kiterjed
public void eredmény ()
// Számítsa ki a négyzet területét
int területVal = n * n;
Rendszer.ki.println ("A négyzet területe" + areaVal);


// Define téglalap alosztály
osztály téglalap kiterjeszti a területet
public void eredmény ()
// Számítsa ki a téglalap területét
int területVal = h * w;
Rendszer.ki.println ("A téglalap területe" + areaVal);


// Főosztály
osztály absztrakt2
public static void main (String [] érvel)
// A négyzet osztály objektumának létrehozása
négyzet sq = új négyzet ();
négyzetméter.readData (1);
négyzetméter.eredmény();
// A téglalap osztály objektumának létrehozása
téglalap rq = új téglalap ();
rq.readData (2);
rq.eredmény();

Kimenet:

A következő kimenet jelenik meg a kód futtatása után. A kimenet egy négyzet területét mutatja, ahol a értéke n van 10 és egy téglalap területe, ahol a h van 20, és az értéke w van 30.

3. példa: Absztrakt osztály a konstruktorral

A következő példa bemutatja, hogyan lehet a konstruktort deklarálni és használni egy absztrakt osztályon belül. Az absztrakt osztály konstruktora inicializálja a a és b. Az elvont módszer, maxval () nevű alosztályban valósul meg findMax. szuper() metódust használnak az alosztály konstruktorában egy absztrakt osztály konstruktorának hívására. Az elvont módszer maxval () megtudja, mekkora maximális értéket kap az objektum létrehozásakor az alosztály konstruktorának paramétereihez tartozó két szám.

// Definiáljon egy absztrakt osztályt egy konstruktorral
absztrakt osztályok száma
// változók deklarálása
védett végső int a, b;
// absztrakt osztály konstruktor
nyilvános számok (int x, int y)
ez.a = x;
ez.b = y;

// Nyilvános módszer
public abstract void maxval ();

// Define subclass
class findMax kiterjeszti a számokat
// Alosztály konstruktor
nyilvános findMax (int x, int y)
// Absztrakt osztály konstruktor hívása
szuper (x, y);

// Absztrakt módszer megvalósítása
public void maxval ()
ha (a> b)
Rendszer.ki.println (a + "nagyobb, mint" + b);

más
Rendszer.ki.println (b + "nagyobb, mint" + a);



// Főosztály
osztály absztrakt3
public static void main (String [] érvel)
// Az alosztály objektumának létrehozása
findMax fmax = új findMax (34,89);
// Keresse meg a maximumot
fmax.maxval ();

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után. Itt, 34 és 89 a konstruktor paraméterértékeként vannak megadva. Ezeket az értékeket összehasonlítjuk az abosztályban megvalósított absztrakt módszerrel, és kinyomtatjuk a következő üzenetet.

Következtetés:

Absztrakt osztályt használunk a program szervezettebbé és érthetőbbé tételéhez. Több kapcsolódó osztály csoportosítható absztrakt osztályok használatával. Az absztrakt osztály koncepcióját és megvalósítását a különböző részekkel ebben az oktatóanyagban egyszerű példák segítségével magyarázzuk meg. Remélem, hogy az olvasók meg tudják érteni az absztrakt osztály használatát és megfelelően alkalmazzák a kódjukban, miután elolvasták ezt az oktatóanyagot.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...