KompyutaMapulogalamu

Java Generics: ofotokoza ndi njira

Kuyambira ndi maonekedwe a chinenero Java kakusintha kwambiri kusintha, zomwe mosakayikira anabweretsa mphindi abwino magwiridwe ake. Chimodzi cha kusintha kwambiri ndi kumayambiriro Java angaperekedwe kapena generalizations. magwiridwe Zimenezi kupanga chinenero mosavuta ndi ntchito zake zosiyanasiyana, komanso otetezeka kwambiri mwa mawu a kubweretsa mitundu deta.

mfundo ndi yakuti isanafike kumayambiriro generics ku Java malamulo generic akhoza analenga, osati mawu a mtundu Buku chinthu. Maulalo akhoza anatumizidwa iliyonse chinthu. Ndipotu, makalasi ku Java ndi silinatchulidwe olandira chinthu kalasi. Komabe, njira imeneyi ndi gwero angathe zolakwa zambiri zokhudzana mitundu chitetezo kutembenuka mwina chinthu ku chinthu mtundu chandamale. Pamene ntchito generalizations amatulutsa onse anachita kotheratu ndi basi, kuchotsa ngakhale lingathe zolakwika.

Java Generics: ofotokoza ndi Mwachitsanzo

Tiyeni tione chitsanzo yosavuta kugwiritsa ntchito generalization magulu zonse mu chithunzi m'munsimu. Kenako kuti tinafotokoza mwatsatanetsatane omwe ndi ovuta onse ndi mokoma Java angaperekedwe.

Samalani mmene kalasi kulengeza amapezeka awiri. Chikadzangotha dzina kalasi, lotseguka ngodya m'mabokosi, zimene zinasonyeza kalata T. Ndi mtundu wa filler, umene uli m'kati kulenga nkhani yosonyeza kalasi adzakhala m'malo mwa mtundu wapadera. Izo zikuwoneka motere: awiri obj = latsopano awiri (). Tikumbukenso kuti m'malo T akhoza kukhazikitsa kalata iliyonse, koma, monga ulamuliro, ntchito T, V kapena E.

Dziwani: kuyambira ndi Baibulo chitatu wa Java, kuwapatsa malangizo mtundu chandamale pamene kulengeza m'mabokosi Buku ngodya mu constructor akhoza anasiya kanthu. Choncho chitsanzo zikhoza anasintha liposa: awiri obj = latsopano awiri <> ().

Maphunzirowo amayesedwa m'njira, ndiye mu thupi lake mmalo mwa mitundu yeniyeni minda, maulalo, zinthu anabwerera podzera njira mukhoza kugwiritsa ntchito kuti kalata. Popeza T polenga dziko kalasi chinthu m'malo mwa mtundu makamaka, minda yoyamba ndi yachiwiri Pankhaniyi adzakhala mtundu inteja.

Potsatira mfundo za makani ndipo firstItem secondItem, anatchula constructor yoyenera ayenera kukhala a mtundu inteja kapena subclass. Ngati amafuna mufotokoze mtundu deta chosiyana ndi zimene zinatchulidwa polenga chinthu, ndi kompayila sadzalola zimenezi. Choncho, mfundo constructor pamene chinthu adzakhala motere: awiri obj = latsopano awiri <> (latsopano inteja (1), latsopano inteja (2)). N'chimodzimodzinso ndi mfundo ndi njira setFirst setSecond. Ndipo ngati inu mwina anaganiza, njira getFirst getSecond ndipo adzabweranso mtengo wa mtundu inteja.

Zowombetsa mkota ndi magawo angapo mitundu kalasi

Mu makalasi zowombetsa mkota akhoza kukalengeza magawo angapo a mtundu zimene zili m'mabokosi ngodya ndi koma ndi. Redesigned ndi mlandu awiri kalasi ndi anapereka m'munsimu.

Monga mukuonera, pamene munakonza yosonyeza kuti kalasi m'mabokosi ngodya ayenera kusonyeza nambalayi a mitundu monga magawo. Ngati muli bwino mtundu wa dongosolo deta monga Map, mukhoza kuona kuti amagwiritsa ndendende zomwezo. Kumeneko, mtsutso choyamba n'chakuti mtundu wa chinsinsi, ndipo chachiwiri - mtundu wa mtengo. Tikumbukenso kuti mitundu ya opatsirana pamene chinthu mfundo mwina alipo. Mwachitsanzo, izi malonda awiri kalasi Mwachitsanzo ziri zolondola mwamtheradi: awiri obj.

Zina za generalizations

Tisanapite patali, tisaiwale kuti Java kompayila sikulenga Mabaibulo osiyanasiyana awiri kalasi. Ndipotu, mu ndondomeko yolemba zowombetsa mkota mtundu mfundo zonse zichotsedwa. M'malomwake, kubweretsa mitundu yoyenera, kupanga Baibulo wapadera wa kalasi awiri. Komabe, mu pulogalamuyi pali okha Baibulo generic m'kalasimo. Zimenezi amatchedwa Java angaperekedwe kuyeretsa mtundu.

Onani mfundo yofunika kwambiri. Links kuti Mabaibulo osiyanasiyana kalasi yomweyo Java generic akhoza osamulozera wina ndi chinthu chomwecho. Kuti, tiyerekeze kuti tili limasonyeza awiri: awiri obj1 ndi awiri obj2. Choncho, mu mzere obj1 = obj2 cholakwa. Ngakhale zosintha onse a mtundu awiri , zinthu zimene iwo amanena, ndi zosiyana. Izi ndi chitsanzo chabwino kwa zifanizo za chitetezo ku Java angaperekedwe.

Zofunikila pa makalasi angaperekedwe

Nkofunika kudziwa kuti generalizations akhoza okhawo Buku mitundu, ndiko kudali magawo generic kalasi Java mkangano ayenera kukhala mtundu kalasi. Izi mitundu osavuta, monga, mwachitsanzo, awiri kapena yaitali, sakhoza anasamutsidwa. M'mawu ena, zotsatirazi mzere awiri kalasi kulengeza sikuloledwa: awiri obj. Komabe, malire ili si vuto lalikulu, ngati pali lolingana Java wrapper kalasi pa mtundu achikale. Kwenikweni, ngati kalasi awiri mukufuna encapsulate ndi inteja ndi Buliyani mtengo avtoupakovka amachita chilichonse kwa inu: awiri obj = latsopano awiri <> (25, zoona).

Wina mavuto ndi kulephera kulenga kufuna kwa mtundu chizindikiro. Mwachitsanzo, mzere zotsatirazi adzachititsa zolakwa yachokera: T woyamba = T watsopano (). Izi ndi zoonekeratu, chifukwa simukudziwa pasadakhale ngati mkangano anadutsa gulu lonse kapena umboni, kapena mawonekedwe. Yemweyo amapita kulenga magulu.

mitundu yochepa

Nthawi zambiri pali zochitika pamene m'pofunika kuchepetsa mndandanda wa mitundu kuti akhoza zapita monga mkangano Java generic kalasi. Tiyeni tinene kuti mu kalasi awiri wathu tikufuna encapsulate mfundo zokhazo n'zosangalatsa kumva kuti anapitiriza ntchito masamu pa iwo. Kuti tichite zimenezi tifunika kumasulila malire chapamwamba mtundu chizindikiro. Iwo anazindikira mwa malonda superclass anatengera mfundo zonse zapita m'mabokosi njingayo. Iwo adzayang'ana motere: kalasi awiri . Mu njira iyi, ndi kompayila lapeza kuti mmalo mwa chizindikiro T angathe mmalo kapena Number kalasi kapena mmodzi wa subclasses ake.

Izi ndi phwando wamba. Malamulo amenewa nthawi zambiri ankakonda kupereka magawo ngakhale lembani limodzi ndi gulu lomwelo. Taganizirani chitsanzo cha mu kalasi athu awiri: kalasi awiri . Apa ife kuwauza kompayila kuti mtundu T kungakhale lachabechabe, ndipo V mtundu ayenera kukhala kaya T mtundu kapena mmodzi wa subclasses ake.

Kuchepetsa "pansi" ndi chimodzimodzi njira yomweyo, koma m'malo mawu imafika aziwerenga mawu wapamwamba. Kuti zimagawidwa kalasi awiri limanena kuti m'malo T akhoza mmalo kapena ArrayList, kapena kalasi kapena mawonekedwe kuti analandira.

njira angaperekedwe Java ndi constructors

Mu Java, generalizations ungagwiritsidwe osati magulu, komanso njira. Mwachitsanzo, njira generic akhoza analengeza mu m'kalasi zonse.

Malinga ndi chithunzi pamwambapa, ndi malonda zowombetsa mkota njira palibe lalikulu zambiri. Zokwanira mtundu kubwerera kwa njira kuika m'mabokosi ngodya ndi mwachindunji magawo mtundu mu iwo.

Ngati zonse zichitike chimodzimodzi constructor ndi:

Njingayo m'mabokosi Pankhaniyi ataliika patsogolo pa dzina la mlengi, thangwe alibe phindu kubwerera. The chifukwa cha mapulogalamu onse adzakhala:

inteja

chingwe

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ny.delachieve.com. Theme powered by WordPress.