Computer, Zokuhlela
Java Generics: inkcazelo kunye neendlela
Ukuqala kunye imbonakalo ulwimi Java ithe oluninzi utshintsho, nto leyo ngokungathandabuzekiyo bezisa amathuba eyakhayo kusebenziso. Enye yezi nguqu okuphawulekayo Ukuqaliswa Java Generic okanye nentetho equkayo. Oku kusebenza kuphela ukwenza ulwimi bhetyebhetye ngakumbi yaye ubhetyebhetye, kodwa ikhuseleke kakhulu ngokubhekiselele ekuziseni iindidi zedata.
Inyaniso kukuba phambi kokuba kuqaliswe generics e Java ikhowudi generic okufumaniweyo, hayi kuphela ngokwemigaqo lohlobo reference Object. Amakhonkco ezinjalo linokukwenziwa nayiphi na into. Ngapha koko, iiklasi Java ziziindlalifa kodidi lwento lokukwekwa. Nangona kunjalo, le ndlela yeyona nobangela iimpazamo ezininzi ezinxulumene iintlobo zokhuseleko kwi ukuguquka elikhangeleka into Object ukuya uhlobo kujoliswe kulo. Xa usebenzisa nentetho equkayo, zonke abumbe yenziwa ngokupheleleyo kwaye ngokuzenzekelayo, ukuphelisa nkqu amandla iimpazamo.
Java Generics: inkcazelo kunye nomzekelo
Makhe sihlolisise umzekelo elula isicelo of gabalala class rhoqo kulo mzobo ungezantsi. Kwaye badlule uviwo eneenkcukacha zonke ubuqili kunye bokuqonda Java Generic.
Nikelani ingqalelo indlela apho isibhengezo iklasi kwenzeka Iperi. Ngoko nangoko emva kokuba igama leklasi, izibiyeli ezineekona ezivulekileyo, leyo nyikele T. unobumba It is a hlobo lokufaka, leyo inkqubo yokudala umzekelo we le iklasi uya kutshintshwa kuze kufakwe uhlobo oluthile. Kubonakala ngolu hlobo lulandelayo: Pair
Qaphela: aqala nge kwinguqulelo yesibhozo Java, ecacisa uhlobo ekujoliswe xa evakalisa reference izibiyeli ezineekona kwi umhlanganisi kungashiywa belambatha. Ngoko mzekelo zinakho kwakhona njengoko kuchaziwe apha ngasentla: Pair
Xa eklasini ibhengeze ngendlela enjalo, ngoko emzimbeni wakhe endaweni iintlobo ezithile kwiinkalo, unxibelelwano, izinto babuyela ngeendlela ungasebenzisa loo leta. Ekubeni T xa kuyilwa into yeklasi endaweni uhlobo oluthile, amasimi yokuqala neyesibini kulo mzekelo kuya kuba luhlobo elipheleleyo.
Emva anengqondo kwiimpikiswano kunye firstItem secondItem, wabhekisela umhlanganisi efanelekileyo kufuneka ibe lohlobo elipheleleyo okanye subclass. Ukuba uzama nokudlulisela uhlobo data yahlukile koko ochaziweyo xa kudalwa into, le compiler akayi ke le mpazamo. Ngoko ke, lo kokwakha xa kuya kuba yinto ngolu hlobo lulandelayo: Pair
Ngokubanzi kunye neentlobo iklasi eziliqela iparameters
Kwiiklasi ngokubanzi nabo banokuthi parameters ezininzi lohlobo ukuba zicwangciswa izibiyeli ezineekona nge isiphumlisi. Ngokutsha yi ityala iklasi Pair ithiwe thaca apha ngasezantsi.
Njengoko ubona, xa wenze i Umzekelo yale eklasini izibiyeli ezineekona kufuneka ubonise inani elifanayo iintlobo njenge parameters. Ukuba uqhelene olu hlobo nesakhiwo sedata njenge Map, ungabona ukuba isebenzisa kanye isimiso esifanayo. Apho, ingxoxo yokuqala sichaza uhlobo isitshixo, kwaye eyesibini - uhlobo ixabiso. Kufuneka kuqatshelwe ukuba iintlobo ezosulela xa kwiimpikiswano into kungenzeka. Hi xikombiso, le ad ilandelayo Pair udidi Umzekelo ichanekile kakhulu: Pair
Ezinye iimpawu nentetho equkayo,
Ngaphambi kokuqhubeka, kufanele kuqatshelwe ukuba compiler Java akudali iinguqulelo ezahlukeneyo Iperi yeklasi. Enyanisweni, xa inkqubo yokuqulunqa uhlobo ngokubanzi zonke iinkcukacha icinyiwe. Endaweni yoko, ubangenise endlwini iintlobo ezifanelekileyo, ukudala inguqulelo ekhethekileyo kwiklasi Iperi. Noko ke, kule nkqubo kusekho uguqulelo kuphela generic kwiklasi. Le nkqubo ibizwa kwi Java uhlobo lokucoca Generic.
Qaphela ingongoma ebalulekileyo. Links ukuba iinguqulelo ezahlukileyo kwiklasi generic efanayo java ayikwazi alathe enye into efanayo. Oko kukuthi, masithi kufuneka amakhonkco amabini: Pair
Uthintelo kwiiklasi generic
Kubalulekile ukwazi ukuba nentetho equkayo, zinokusetyenziswa kuphela ireferensi iintlobo, eliza parameters generic udidi java ingxabano kufuneka uhlobo eklasini. Ezi ntlobo ezilula, ezifana, umz, kabini okanye elide, azikwazi ukuba ukudluliselwa. Ngamanye amazwi, le layini ilandelayo iklasi isibhengezo Pair akuvumelekanga: Pair
Enye kwesithintelo kakhulu kukungakwazi ukwenza umzekelo we uhlobo parameter. Hi xikombiso, le layini ilandelayo iya kubangela imposiso yokuhlanganisela: T yokuqala = T omtsha (). Oku Kucacile, ngokuba akuyazi kwangaphambili ukuba ingxabano wadlula iklasi ngokupheleleyo okanye abstract, okanye interface. Kukwanjalo uya ngokudala ma.
iintlobo ezithile
Lidla kukho iimeko xa kuyimfuneko ukunciphisa uluhlu lwendidi ukuba ukuhambisela njenge mpikiswano kwi Java ephunyeziweyo iklasi generic. Makhe sicinge ukuba Iperi eklasini yethu sifuna ukudibanisa kuphela amaxabiso lwamanani ukuba imisebenzi engaphezulu lwezibalo phezu kwabo. Ukuze wenze oku kufuneka ukuchaza nelona qondo liphezulu uhlobo parameter. It iqaphelwa esebenzisa iintengiso superclass ilifa zonke iingxoxo ipasiswe izibiyeli ezineekona. Kuya kukhangela ngolu hlobo lulandelayo: iklasi Pair
Le wondamkela eqhelekileyo. izithintelo anjalo adla ngokusetyenziswa ukubonelela uhlobo ehambelanayo parameters kwenye kunye kwiklasi enye. Khawucinge ngomzekelo eklasini yethu Pair: iklasi Pair
Ukucutha i "bottom" kanye ngendlela efanayo, kodwa endaweni ilizwi oluya ukupela super ilizwi. Ukuba iklasi ihlelwa Pair
iindlela Java Generic kunye abakhi
E Java, nentetho equkayo enokusetyenziswa nje kuphela iiklasi, kodwa iindlela. Umzekelo, indlela generic zingabhengezwa eklasini rhoqo.
Njengoko kubonakala kumzobo ngasentla, indlela ad nolahlo ngokubanzi akukho nto ibitheni ngotywala. Kwanele phambi uhlobo ukubuya indlela ukubeka kwizibiyeli engile ucacise uhlobo parameters kuzo.
Ukuba yonke into yenziwe ngokufanayo le Umakhi:
izibiyeli engela kulo mzekelo wabeka phambi igama lowo wengcibi yokuluka, ngokuba akukho Ixabiso lokubuya. Isiphumo zombini iinkqubo ziya kuba:
inani elipheleleyo
string
Similar articles
Trending Now