KwamfutocinShirye-shirye

Java Generics: description da kuma hanyoyin

An fara tare da bayyanar da Java harshe ya halartar da yawa daga canje-canje, wanda babu shakka ya kawo kyau lokacin a cikin aiki. Daya daga cikin wadannan gagarumin canje-canje shi ne gabatarwar Java Generic ko generalizations. Wannan aiki ba kawai sa da harshen mafi m da kuma m, amma kuma mafi aminci mai yawa a cikin sharuddan da kawo bayanai iri.

Gaskiyar ita ce, kafin gabatarwar generics a Java Generic code za a iya halitta, ba wai kawai cikin sharuddan irin tunani Object. Irin wannan links za a iya sanya kowane abu. Bayan duk, azuzuwan a Java ne a fakaice Object aji magada. Duk da haka, wannan dabarar ne m tushen yawa kurakurai alaka tsaro iri daban-daban a cikin fili hira da wani abu daga Object zuwa ga manufa irin. Lokacin amfani generalizations duk simintin gyare-gyaren da ake yi jabu da kuma ta atomatik, kawar da ko da yuwuwar kurakurai.

Java Generics: description da kuma misali

Bari mu bincika wani sauki misali na aikace-aikace na hakan na yau da kullum azuzuwan a cikin adadi a kasa. Kuma a sa'an nan ci gaba zuwa wani cikakken jarrabawa na duk tausasãwa kuma nuances na Java Generic.

Kula da hanyar da aji da'awarsu auku Biyu. Nan da nan bayan aji sunan, bude kwana brackets, wanda ya nuna harafin T. Yana da wani irin filler, wanda shi ne a kan aiwatar da samar da wani misali na wannan aji za a maye gurbinsu da wani takamaiman irin. Ga alama kamar haka: Biyu obj = sabon Biyu (). Ya kamata a lura da cewa maimakon T iya saka wani harafin, amma, kamar yadda mai mulkin, amfani da T, V ko E.

Lura: suka fara da na takwas version na Java, tantancewa da manufa irin lokacin da furta zance kwana brackets a constructor za a iya bar komai. Saboda haka misali za a iya sake rubutawa kamar a sama: Biyu obj = sabon Biyu <> ().

Lokacin da wani aji aka ayyana a irin wannan hanyar, sa'an nan a cikin jikinsa maimakon takamaiman iri filayen, links, abubuwa koma da hanyoyin da za ka iya amfani da wannan wasika. Tun T lokacin da samar da ajin abu ne maye gurbinsu da wani irin, farko da na biyu filayen a cikin wannan hali zai zama daga cikin irin lamba.

Wadannan dabaru na muhawara da firstItem secondItem, ake magana a kai da ya dace constructor dole ne ma ya zama nau'in lamba ko subclass. Idan ka yi ƙoƙarin yin aika da wani data type cewa ne daban-daban daga abin da aka kayyade lokacin da samar da wani abu, da mai tarawa ba zai bari wannan kuskure ne. Saboda haka, da muhawara constructor lokacin da wani abu zai zama kamar haka: Biyu obj = sabon Biyu <> (sabon lamba (1), da sabon lamba (2)). Haka ya shafi muhawara da kuma hanyoyin setFirst setSecond. Kuma kamar yadda ka yiwuwa gane, hanyoyin getFirst getSecond kuma zai dawo da darajar da irin lamba.

Jimlace da dama sigogi aji iri

A ra'ayin kowa azuzuwan kuma iya bayyana mahara sigogi na irin abin da aka kafa a kwana brackets da waƙafi. Redesigned da wani hali Biyu aji da aka gabatar a kasa.

Kamar yadda ka gani, a lokacin da ka ƙirƙiri wani misali na wannan aji a kwana brackets kamata nuna wannan yawan iri a matsayin sigogi. Idan kun kasance saba da irin wannan data tsarin a matsayin Map, za ka iya ganin cewa shi yana amfani da daidai da wannan manufa. Akwai, da farko ya kasance hujjarsu qayyade irin key, da kuma na biyu - da irin darajar. Ya kamata a lura da cewa iri daukar kwayar cutar a lokacin da wani abu muhawara iya zoba. Alal misali, da wadannan ad Biyu aji misali ne cikakken daidai: Biyu obj.

Wasu fasaloli na generalizations

Kafin za kara, ya kamata a lura da cewa Java tarawa ba ya yin halitta daban-daban versions na aji Biyu. A gaskiya, a aiwatar da Tattara bayanan mai kowa yana da irin duk bayanai da aka share. Maimakon haka, ka kawo da ya dace iri, da samar da wani musamman version na Biyu aji. Duk da haka, a cikin shirin a can shi ne har yanzu kawai a Generic version na aji. Wannan tsari shine ake kira a Java Generic tsaftacewa da irin.

Lura wani muhimmin batu. Links to daban-daban versions daga cikin wannan java Generic aji ba zai iya nuna wa wanda kuma wannan abu. Wannan ne, zata muna da biyu links: Biyu obj1 kuma Biyu obj2. Saboda haka, a cikin layi obj1 = obj2 wani kuskure. Ko da yake duka biyu canji ne na irin Biyu , da abubuwan da wanda suke karkatai da maganar, suna daban-daban. Wannan shi ne wani Firayim misali na daban na tsaro a Java Generic.

Taƙaitawa akan Generic azuzuwan

Yana da muhimmanci a san cewa generalizations iya amfani da kawai ya dauke iri, da cewa shi ne wuce sigogi Generic aji java shawara dole ne a aji irin. Wadannan sauki iri, irin su, misali, biyu ko tsawo, ba za a iya canjawa wuri. A wasu kalmomin, da wadannan line Biyu aji da'awarsu, ba a yarda: Biyu obj. Duk da haka, wannan ya rage mata ne ba matsala ba ce, kamar yadda akwai wani daidai Java wrapper aji domin kowane m irin. Tsananin magana, idan aji Biyu kana so ka encapsulate wani lamba kuma Boolean darajar avtoupakovka aikata duk abin da ku: Biyu obj = sabon Biyu <> (25, gaskiya).

Wani tsanani da ya rage mata ne da rashin iyawa don ƙirƙirar wani misali daga cikin siga irin. Alal misali, da wadannan line zai sa a tari kuskure: T farko = sabon T (). Wannan a bayyane yake, saboda ba ka sani a gaba ko wani misãli ba, haƙĩƙa, sun shige cikakken aji ko m, ko dubawa. Wannan ke don samar da iri-iri.

iyakance iri

Popular sau da yawa akwai yanayi a lokacin da shi wajibi ne don rage jerin iri da cewa za a iya wuce matsayin shaida ga Java Generic aji. Bari mu ɗauka cewa a cikin aji Biyu muna so mu encapsulate kawai lamba dabi'u domin kara ilmin lissafi aiki a kan su. Don yin wannan muna bukatar ayyana sama da iyaka da siga da irin. An gane ta wajen wani superclass talla gaji duk da muhawara wuce a kwana brackets. Yana zai duba kamar haka: aji Biyu . A cikin wannan hanya, da mai tarawa ya gano cewa, a maimakon na siga T za a iya sauya ko Number aji ko daya daga cikin subclasses.

Wannan shi ne na kowa liyafar. Irin wannan hani sukan yi amfani da su samar da karfinsu irin sigogi a wanda kuma wannan aji. Ka yi la'akari da misalin a cikin aji Biyu: aji Biyu . Ga mu gaya da tarawa da cewa da irin T iya zama sabani, kuma V irin dole ne ko dai T irin ko daya daga cikin subclasses.

Iyakance "kasa" tana daidai da hanyar, amma maimakon na kalmar kara zuwa rubutawa da kalmar super. Wannan ne classified aji Biyu ya ce maimakon T iya sauya ko wani ArrayList, ko da wani aji ko dubawa cewa shi gada.

Generic Java hanyoyin da constructors

A Java, generalizations za a iya amfani ba kawai ga azuzuwan, amma kuma hanyoyin. Alal misali, a Generic Hanyar za a iya bayyana a wata na yau da kullum da aji.

Kamar yadda gani a adadi sama, da ad jimlace hanya ne wani babban yarjejeniyar. Isa kafin dawowar irin hanya don sa da kwana brackets da kuma saka da irin sigogi a gare su.

Idan duk abin da aka yi kamar wancan ga constructor:

Angle baka a cikin wannan yanayin sa kafin sunan zanen, saboda ba shi da mai da darajar. A sakamakon biyu shirye-shirye zai zama:

lamba

kirtani

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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