Java – Generics (Magyar)

Hirdetések

Jó lenne, ha egyetlen rendezési módszert írhatnánk, amely rendezni tudja az Integer tömb, egy String tömb elemeit , vagy bármilyen típusú tömb, amely támogatja a megrendelést.

A Java általános metódusai és általános osztályai lehetővé teszik a programozók számára, hogy egyetlen metódusdeklarációval, a kapcsolódó metódusok halmazával, vagy egyetlen osztálydeklarációval meghatározzanak egy halmazt. a kapcsolódó típusoké.

A generikusok fordítási idő típusú biztonságot is nyújtanak, amely lehetővé teszi a programozók számára, hogy fordításkor érvénytelen típusokat találjanak.

A Java Generic koncepció használatával írhatunk egy általános módszert egy tömb objektum rendezéséhez, majd hívja meg az általános metódust egész szám tömbökkel, kettős tömbökkel, karakterlánc tömbökkel és így tovább a tömb elemek rendezéséhez.

Általános módszerek

Írhat egyetlen általános módszeres deklaráció, amely kb különféle típusú érvekkel. Az általános metódushoz továbbított argumentumok típusai alapján a fordító az egyes metódushívásokat megfelelően kezeli. Az általános metódusok meghatározásának szabályai az alábbiak:

  • Az összes általános metódusdeklarációhoz tartozik egy típusú paraméter szakasz, amelyet szögletes zárójelek határolnak (< és >), amely megelőzi a módszer visszatérési típusát (< E > a következő példában ).

  • Minden típusparaméter egy vagy több vesszővel elválasztott típusparamétert tartalmaz. A típusparaméter, más néven típusváltozó, olyan azonosító, amely egy általános típusnevet határoz meg .

  • A típusparaméterek felhasználhatók a visszatérési típus deklarálásához, és helyőrzőkként működhetnek az általános metódushoz továbbított argumentumok típusainál, amelyek tényleges típusú argumentumként ismertek.

  • Egy általános módszer törzsét deklarálják, mint bármely más módszerét. Ne feledje, hogy a típusparaméterek csak referenciatípusokat képviselhetnek, nem primitív típusokat (például int, double és char).

Példa

A következő példa bemutatja, hogyan képes kinyomtatni egy különféle tömböt egyetlen általános módszerrel –

Ez a következő eredményt eredményezi –

Output

Array integerArray contains:1 2 3 4 5 Array doubleArray contains:1.1 2.2 3.3 4.4 Array characterArray contains:H E L L O

Korlátozott típusparaméterek

Előfordulhat, hogy korlátozni szeretné azokat a típusokat, amelyeket átengedhetünk egy típusparaméternek. Például egy számokkal működő módszer csak a Number vagy annak alosztályainak példányait akarja elfogadni. Erre szolgálnak a korlátozott típusparaméterek.

Határolt típusú paraméter deklarálásához sorolja fel a type paraméter nevét, majd az extends kulcsszót, majd felső határa.

Példa

A következő példa bemutatja, hogy az extends általános értelemben használva azt jelenti, hogy “kiterjeszti” (mint az osztályoknál) vagy “megvalósítja” (mint az interfészeken) . Ez a példa Általános módszer a három összehasonlítható objektum közül a legnagyobb visszaadására –

Ez a következő eredményt eredményezi –

Output

Max of 3, 4 and 5 is 5Max of 6.6,8.8 and 7.7 is 8.8Max of pear, apple and orange is pear

Általános osztályok

Egy általános osztálydeklaráció úgy néz ki, mint egy nem általános osztálydeklaráció, azzal a különbséggel, hogy az osztálynevet egy típusparaméter-szakasz követi.

Mint az általánosnál metódusok esetén egy általános osztály típusparaméter-szakaszában lehet egy vagy több vesszővel elválasztott típusparaméter. Ezeket az osztályokat paraméterezett osztályoknak vagy paraméterezett típusoknak nevezik, mivel elfogadnak egy vagy több paramétert.

Példa

A következő példa bemutatja, hogyan definiálhatunk egy általános osztályt –

Ez a következő eredményt eredményezi –

Kimenet

Integer Value :10String Value :Hello World
Hirdetések

Leave a Reply

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük