Arvutid, Programmeerimine
Java Generics: kirjeldus ja meetodid
Alustades välimus Java keel on läbinud palju muutusi, mis kahtlemata on andnud positiivseid hetki oma funktsionaalsuse. Üks neist olulised muutused on kasutusele Java Generic või üldistusi. See funktsioon ei ole ainult teha keele paindlikumaks ja mitmekülgne, kuid ka palju turvalisem poolest tuues andmetüüpe.
Fakt on, et enne kasutuselevõttu geneeriliste Java üldised koodi saaks luua, mitte ainult seoses tüübiesindaja objekt. Sellised lingid saab määrata mis tahes objekti. Lõppude lõpuks, klasside Java on kaudne objekt klassi pärijad. Kuid selline lähenemine on võimalik allikas palju vigu, mis on seotud turvalisuse tüüpe ilmne konverteerimise objekti eseme siht tüüp. Kui kasutate üldistusi kõik heidab läbi kaudselt ja automaatselt, kõrvaldades isegi potentsiaali vigu.
Java Generics: kirjeldus ja näiteks
Mõelgem lihtne näide kohaldamise üldistust tavaklassides alloleval joonisel. Ja siis edasi üksikasjalik uurimine kõiki peensusi ja nüansse Java Generic.
Pöörake tähelepanu, kuidas klassi deklaratsiooni toimub sidumine. Kohe pärast klassi nimi, avatud nurksulud, mis näitas, et kirja T. See on omamoodi täiteaine, mis on loomise protsessis näiteks selle klassi asendatakse konkreetset tüüpi. Tundub järgmiselt: sidumine
Märkus: alustades kaheksanda versiooni Java, täpsustades sihtimistüübis deklareerimisel viide nurkklambriga ehitaja saab tühjaks. Nii näiteks saab väljendada nagu ülal: sidumine
Kui klass on deklareeritud nii, siis tema keha asemel teatud tüüpi väljad, lingid, objektide tagastatud meetodeid, mida saab kasutada, et kirja. Kuna T loomisel klassi objekt asendatakse teatud tüüpi, esimene ja teine väljad sel juhul olema sama tüüpi Integer.
Loogikat järgides argumente ja firstItem secondItem osutatud asjakohased ehitaja peab olema tüübiga Integer või alamklassi. Kui üritate edastab andmed tüüp, mis erineb sellest, mida oli loomisel määratud objekti, koostaja ei lase seda viga. Seega argumendid konstruktori kui objekt on järgmine: Paar
Üldistatud mitme parameetrid klassi tüüpi
Üldistatud klasse võib ka kuulutada mitmeid parameetreid sellist tüüpi, mis on seatud noolsulgudega koos eralda. Ümberkujundatud mille puhul sidumine klassi on esitatud allpool.
Nagu näete, kui loote näiteks selle klassi noolsulgudega peaks näitama sama arvu tüüpi parameetrid. Kui te olete tuttav seda tüüpi andmestruktuuri kaart, siis näeme, et ta kasutab täpselt sama põhimõtet. Seal esimene argument määrab võtme tüüp ja teine - tüüpi väärtus. Tuleb märkida, et liiki edastatakse kui objekti argumendid võivad kattuda. Näiteks järgmine reklaam sidumine klassi astmes on täiesti õige: Paar
Mõned funktsioonid üldistusi
Enne jätkamist tuleb märkida, et Java kompilaator ei saa luua erinevaid versioone klassi sidumine. Tegelikult protsessi koostamisel üldistatud tüüp kõik andmed kustutatud. Selle asemel, siis tuua asjakohased liigid, luues eriversiooni sidumine klassi. Kuid programm on veel ainult üldine versioon klassi. Seda protsessi nimetatakse Java Generic puhastus tüüp.
Märkus oluline punkt. Lingid erinevaid versioone sama java geneeriline klass ei saa osutada ühele ja samale objektile. See on oletame meil on kaks lingid: Paar
Piirangud geneeriliste klasside
On oluline teada, et üldistusi saab rakendada ainult viide tüüpi, mis on edasi parameetrid geneeriline klass java argument olema klassi tüüp. Need lihtsad tüüpi, nagu näiteks kahe- või pikk, ei saa üle. Teisisõnu, järgmine rida sidumine klassi deklaratsiooni ei ole lubatud: Paar
Teine tõsine piirang on võimetus luua näiteks parameetri tüüp. Näiteks järgmine rida paneb kompileerimisviga: T esimeses = uus T (). See on ilmselge, sest sa ei tea ette, kas argument sooritanud täieliku klassi või abstraktne või isegi liides. Sama kehtib luua massiivid.
piiratud tüüpi
Sageli on olukordi, kui on vaja piirata liikide loetelu, mida saab edasi argumendina Java geneeriline klass. Oletame, et meie klassi sidumine tahame kapseldada ainult numbrilise väärtuse edasise tehete neid. Selleks peame määratlema ülempiiri parameetri tüüp. See on realiseeritud abil ülemklassi kuulutused päritud kõik argumentide noolsulgudega. See näeb välja järgmiselt: klass sidumine
See on ühine vastuvõtt. Sellised piirangud kasutatakse sageli tagada ühilduvust tüüpi parameetreid ühe ja sama klassi. Vaatleme näiteks meie klassi sidumine: klass sidumine
Piiramine "alt" on täpselt samamoodi, kuid selle asemel sõna ulatub kirjutada sõna super. See on klassifitseeritud klassi sidumine
Generic Java meetodid ja konstruktorid
Java, üldistusi saab rakendada mitte ainult klassidesse, kuid ka meetodid. Näiteks üldine meetod võib deklareeritud regulaarselt klassiruumis.
Nagu joonisel näha eespool reklaami üldistatud meetod ei ole suur asi. Aitab enne tüübi tagastamise meetod panna nurksulud ja täpsustada, millist tüüpi parameetreid neid.
Kui kõik on tehtud sarnaselt ehitaja:
Komnurksulud sel juhul panna enne nime disainer, sest ta ei ole tagastatav väärtus. Tulemuseks mõlema programmi saab:
täisarv
nöör
Similar articles
Trending Now