Ordenagailuak, Programazioa
Java Generics: azalpena eta metodoak
Java hizkuntzan itxura hasita aldaketak, eta horrek, zalantzarik gabe, ekarri une positiboa bere funtzionalitate asko jasan ditu. aldaketa handiak horietako bat Java Generic edo orokortasun sarrera da. funtzionalitate honek ez soilik hizkuntzarekin malguagoak eta polifazetikoa, baina askoz ere datu motak jarriz dagokionez seguruagoa.
Izan ere, generics sarrera Java kodea generikoa ere aurretik sortu ahal izango dira, ez bakarrik motaren erreferentzia Objektu dagokionez. Horrelako loturak edozein objektu ezarri daitezke. Azken finean, Java Klase inplizituak Object klasea oinordekoak dira. Hala ere, planteamendu hau segurtasun mota lotutako itxurazko helburu motaren Objektu batetik objektu bat bihurtzeko akatsak askoren iturri potentzial bat da. orokortasun erabiltzean akatsik guztiak inplizituki eta automatikoki egiten dira, nahiz eta, akats potentziala ezabatuz.
Java Generics: azalpena eta adibidea
Demagun orokortu aplikatzea klaseak ohiko azpiko irudian adibide sinple bat kontuan hartu gurekin. Eta gero, ñabardurak eta Java Generic ñabardurak guztien azterketa zehatza jarraitzeko.
Arreta modu horretan klasean deklarazioa gertatzen Bikotea dira. Berehala class izenaren ondoren, open angelu parentesi, bertan adierazitako gutun T. the betegarri mota bat da, hau klase honen instantzia bat sortzeko prozesuan dago ordezkatuko dira mota jakin batek dena. honela dirudi: Bikotea
Oharra: zortzigarren Java bertsioa hasita, betiere erreferentzia angelu parentesi geratuko eraikitzaile batean utzi daiteke, hutsik helburu mota zehaztuz. Beraz, adibide ezin gainetik bezala berridatzi daitezke: Bikotea
Noiz class bat da modu bat, deklaratu, eta gero bere gorputza ordez eremuak, estekak, metodoak gutun hori erabili ahal izango dituzu itzulitako objektu mota zehatzen. T geroztik denean class objektuaren ordez mota jakin bat, kasu honetan, lehen eta bigarren eremuak izango mota osokoa izan sortuta.
argumentuak eta firstItem secondItem logika jarraituz, egokia eraikitzaile aipatzen halaber mota osokoa edo azpiklase izan behar du. Datu mota bat horixe da zehaztu da ezberdina denean objektu bat sortzeko transmititzeko saiatzen bazara, konpiladoreak ez du utzi akats hau. Horrela, argumentuak eraikitzaile denean objektu bat egingo bezala izango dira: Bikotea
zenbait parametro class motekin orokortua
klaseak orokortua ere diren angelu parentesi ezarri koma batekin motaren parametroak anitz deklaratu ahal izango da. Kasu batean Bikotea class aurkezten da by birmoldatu.
Ikusten duzun bezala, noiz class honen instantzia bat sortzea angelu parentesi duzun mota kopuru bera parametro bezala adierazi beharko dira. zauden datu egitura Map gisa mota hau ezagutzen baduzu, ikusiko duzu zehazki printzipio bera erabiltzen dela. balio-mota - Bada, lehen argumentua giltza mota, eta bigarren zehazten du. Kontuan izan behar da transmititu motak objektu argumentuak bat gainjarri daitezke. Adibidez, honako iragarki Bikotea class instantzia erabat zuzena da: Bikotea
Batzuk orokortasun ezaugarri
Urrutira joan aurretik, kontuan izan behar da hori Java konpiladoreak ez du klasea Bikotea bertsio desberdinak sortu. Izan ere, orokortu mota bat informazio guztia biltzeko prozesuan ezabatzen da. Horren ordez, mota egokia ekarri, Bikotea class bertsio berezi bat sortuz. Hala ere, programan bertan class bertsio generiko bat baino ez da oraindik. Prozesu honek Java Generic garbiketa mota izeneko.
Oharra puntu garrantzitsu bat. java generiko klase berean bertsio desberdinak estekak ezin objektu bat eta bera seinalatu. Hau da, demagun bi esteka ditugu: Bikotea
klase generiko murrizketak
Garrantzitsua orokortasun hori aplikatu ahal izango bakarra mota erreferentzia jakin behar da, hori da parametro pasatzeko generiko class Java argumentu class-mota bat izan behar da. simple mota hauek, hala nola, adibidez, bikoitza edo luzea, ezin dira transferitu. Bestela esanda, lerro hau Bikotea class deklarazioa ez da onartzen: Bikotea
Beste mugarik larriak imposibilidad parametro motaren instantzia bat sortu nahi da. Adibidez, lerro hau compilation error sortuko dute: T lehenengo = T berrian (). Hau agerikoa da, ez duzulako aldez aurretik jakin argumentu osoa klase edo abstraktua, edo baita interfazea gainditu ala ez. Gauza bera matrizeak sortzeko doa.
mota mugatua
Sarritan ez dira egoerak denean beharrezkoa da mota hori argumentu class generiko Java gisa pasa dezake mugatzeko. Dezagun bere gain digu gure klase Bikotea bakarrik numerikoak horien gainean gehiago eragiketa matematiko balioak enkapsulatu nahi dugu. Horretarako, goiko parametro motaren muga zehaztu behar dugu. Da heredatu angelu parentesi pasatu argumentu guztiak superclass iragarki baten bidez konturatu. honela itxura izango du: class Bikotea
Hau harrera komun bat da. Horrelako murrizketak erabili ohi dira bateragarritasuna mota parametro eskaintzeko bat eta klase berean. Demagun adibidez, gure klase Bikotea dira: klase Bikotea
"bottom" mugatzea zehazki modu berean da, baina horren ordez hitzaren hitza super ortografia hedatzen da. Hori sailkatzen class Bikotea
Generic Java metodo eta eraikitzaileak
Java ere, orokortasunak ez aplika daiteke klaseak bakarrik, baina baita metodoak. Adibidez, metodo orokorra izango erregularra ikasgela batean deklaratu ahal izango da.
Goiko irudian ikusten den bezala, ad orokortua metodoa big aurre egiteko ez da. Larreina itzulera metodo bat motaren angelu parentesi jarri aurretik eta mota parametroak zehaztu horietan.
dena era berean egiten bada eraikitzaile izateko:
Angelu kasu honetan parentesi diseinatzaile izenaren aurretik jarri, no bueltan balioa delako. bai programen emaitza izango da:
Integer
String
Similar articles
Trending Now