Lik'homphieuthaMananeo a

Java Generics: Tlhaloso le mekhoa

Ho qala ka ponahalo ea puo Java e undergone liphetoho tse ngata, e leng ha ho pelaelo hore o ile linako tse ntle tshebetso lona. E 'ngoe ea liphetoho tsena bohlokoa ke selelekela sa Java Generic kapa generalizations. tshebetso ena ha feela ho etsa puo eo tenyetsehang ho feta le tenyetseha, empa hape e sireletsehileng haholo ya ka dipehelo tsa ho tlisa mefuta e ya data.

'Nete ke hore pele ho qaloa ho generics ka Java khoutu karela ka bōptjoa, eseng feela ka ho ya ka mofuta ya referense Sepheo. maqhama a joalo a ka abeloa Sepheo efe kapa efe. Ka mor'a hore tsohle, litlelase tsa ho Java tse feletseng majalefa Sepheo sehlopha sa. Leha ho le joalo, mokhoa ona ke mohloli ba liphoso tse ngata tse amanang le ho mefuta e sirelelitsoeng ka ho sokoloha ho bonahalang eka ha ntho ho tloha Sepheo ho mofuta tsa hlaseloa. Ha u sebelisa generalizations e hlahisa tsohle di phethwa ka ho feletseng le ka tsela e iketsang, felisa esita le le monyetla oa ho liphoso.

Java Generics: Tlhaloso le mohlala

A re hlahlobeng mohlala o bonolo ho sebelisa generalization ho litlelase kamehla ka palo e ka tlase. 'Me joale tsoela pele ho a hlahlobe e qaqileng ea subtleties tsohle le makolopetso tsa Java Generic.

Lefa a lebisa tlhokomelo ho tsela eo sehlopha sa phatlalatso e hlaha Pair. Hang-hang ka mor'a hore lebitso la sehlopha sa, bulehileng angle masakaneng, eo o ile a bontša ka lengolo T. Ho e mosa ea filler, e ka tshebetso ya ho theha e mohlala oa sehlopha sena sa tla nkeloa sebaka ke mofuta itseng. Ho shebahala tjena: Pair obj = ntjha Pair (). Re lokela ho hlokomela hore ho fapana le T ka bolela ka ho toba lengolo leha e le efe, empa, e le busa, a sebelisa T, V kapa E.

Hlokomela: qala ka phetolelo ea borobeli ea Java, ho ba le mofuta o korotse ha a bolela ka masakaneng bapisitsoe le hlaha ka lehlakoreng le ka constructor ho ka siea letho. Kahoo mohlala ka rewritten ka holimo: Pair obj = ntjha Pair <> ().

Ha sehlopha ho boleloa hore ka tsela e joalo, ka nako eo ka 'mele oa hae ho e-na le mefuta e itseng ea masimo, maqhama, lintho khutlela ke mekhoa eo u ka sebelisa hore lengolo. Ho tloha ka T ha bōpa sehlopha sa Sepheo e nkeloa sebaka ke a mofuta o itseng, masimo a pele le la bobeli tabeng ena e tla ba mofuta ofe ka palotlalo.

Latelang sea utloahala kapa che ha u se na likhang le firstItem secondItem, o ile a re constructor loketseng ho tse lokela ho boela ho be le ea mofuta ka palotlalo kapa sehlotshwana. Ha o leka ho fetisetsa mofuta ya data hore ke fapane le se neng se boletsweng ha bōpa ntho, le mokelli ke ke a lumella phoso ena. Kahoo, mabaka a constructor ha ntho e tla ka tsela e latelang: Pair obj = ntjha Pair <> (tse ncha ka palotlalo (1), e ncha ka palotlalo (2)). E tšoanang e sebetsa ho ho ngangisana le mekhoa setFirst setSecond. 'Me ha u se u mohlomong guessed, mekhoa getFirst getSecond le tla khutlela ho boleng ba mofuta ka palotlalo.

Generalized le entsprechen 'maloa mefuta e sehlopha sa

Ka litlelase generalized ka boela ka bolela entsprechen multiple tsa mofuta o le hore ba beha ka masakaneng angle le phelelwana ka. Redesigned ke Boemong bo Pair sehlopha sa e hlahisa mona ka tlase.

Joalokaha u ka bona, ha u theha mohlala oa sehlopha sena ka masakaneng angle lokela bontša palo e tšoanang mefuta e entsprechen. Haeba u tloaetse le mofuta ona wa sebopeho ya data e le Map ka, u ka bona hore se sebelisa hantle molao-motheo oo. Ho na le, le khang pele totobatsa mofuta oa bohlokoa, 'me ea bobeli - ka mofuta oa boleng. Re lokela ho hlokomela hore mefuta e mengata ea a tšoaetsanoang ka ho ha e be ntho likhang ka 'na lepelela. Ka mohlala, tse latelang Papatso Pair sehlopha sa mohlala e nepahetse ka ho feletseng: Pair obj.

Tse hlahang ho generalizations

Pele ea pele, re lokela ho hlokomela hore ho Java mokelli ha bopa version fapaneng ya Pair sehlopha sa. Ha e le hantle, ka mokhoa oa ho go kokoanya dintlhakhutlogo e generalized mofuta boitsebiso bohle e hlakolwa. Ho ena le hoo, o tlisa mefuta e loketseng, ho bōpa e tlhahiso khethehileng tsa sehlopha sa Pair. Leha ho le joalo, ka lenaneo la ho sa na le feela phetolelo e akaretsang ea tlelaseng. Tshebetso ena o bitsoa ka Java Generic ho hloekisa mofuta.

Hlokomela ya ntlha ea bohlokoa. Links ho version fapaneng tsa sehlopha sa tšoanang, java karela ke ke supa ho e 'ngoe le ntho e le' ngoe. E, a re re re na le maqhama a mabeli: Pair obj1 le Pair obj2. Ka lebaka leo, tumellanong obj1 = obj2 le phoso. Leha divariabole bobeli ke tsa mofuta Pair , sepheo tseo ba li bua, tse sa tšoaneng. Ena ke mohlala o ka sehloohong oa mefuta ya tshireletso ka Java Generic.

Lithibelo ka litlelase karela

Ho bohlokoa ho tseba hore generalizations ka sebelisoa feela ho bolela mefuta, ke ho feta entsprechen karela sehlopha sa Java khang tlameha ho ba mofuta sehlopha sa. Tsena mefuta e bonolo, tse kang, mohlala, habeli kapa nako e telele, a ke ke a isoa. Ka mantsoe a mang, e latelang mola Pair sehlopha sa phatlalatso e sa lumelloa: Pair obj. Leha ho le joalo, moedi sena ha se le bothata bo tebileng, kaha ho ke lekanang Java wrapper sehlopha sa mong le e mong mofuta hlabolohang. Le hantle, ha ho sehlopha sa Pair o batla ho encapsulate e palotlalo le Boolean boleng avtoupakovka ha tsohle bakeng sa lōna: Pair obj = ntjha Pair <> (25, 'nete).

E mong moedi ke taba e tebileng ho hloleha ho theha mohlala tsa mofuta o paramethara. Ka mohlala, mola e latelang e tla etsa hore phoso rulagannya: T pele = T ncha (). Ena e totobetse, hobane ha u tsebe esale pele hore na khang e fetisitswe ka sehlopha sa e tletseng kapa inahaneloang, kapa esita le segokanyimmediamentsi sa sebolokigolo. E tšoanang tsoela ho bōpa tse fapaneng.

mefuta e fokolang

hangata ho na le maemo ha ho hlokahala hore ho fokotsa lenane la mefuta e ka fetisetsoa ka khang ho Java karela sehlopha sa. A re ke re nka hore ka tlelaseng Pair rona re batla ho encapsulate feela melemo tlhamiwe bakeng sa ka ho eketsehileng tshebetso thuto ea lipalo ho bona. Ho etsa sena ho hlokahala hore re hlalose tekanyong e ka holimo ea mofuta wa paramethara. E o ile a hlokomela ka ho ba le lipapatso superclass futsitseng likhang ka kaofela ba feta ka masakaneng angle. E tla shebahala tjena: sehlopha sa Pair . Ka mokhoa ona, ba mokelli fumana hore ho fapana le ho paramethara T ka ka go engwa legatong kapa Number sehlopha sa kapa e mong oa subclasses lona.

Ena ke baeti ba fihlelang ho tloaelehileng. Lithibelo tseo li atisa ho sebelisa ho fana ka entsprechen sebeletsana mofuta ka mong 'me a ba sehlopheng sa tšoanang. Nahana ka mohlala oa ka sehlopha sa rōna Pair: sehlopha sa Pair . Mona re bolella ho mokelli hore mofuta T ka ba hatellang, 'me V mofuta lokela ho ba ka T mofuta kapa e mong oa subclasses lona.

Fokotsa ho "tlase" ke hantle ka tsela e tšoanang, empa ho ena le hoo ba lentsoe fetela le ho peleta lentsoe bartolomeo. E classified sehlopha sa Pair e bolela hore ho e-na T ka ka go engwa legatong kapa ArrayList e, kapa sehlopha sa leha e le efe kapa segokanyimmediamentsi sa sebolokigolo hore e ruang.

mekhoa Generic Java le constructors

Ka Java, generalizations ka sebelisoa eseng feela hore le litlelase tsa ho, empa hape mekhoa. Ka mohlala, mokhoa karela ka boleloa ka phaposing ea ho ithutela kamehla.

Ka bone ka palo e boletsoeng ka holimo Papatso generalized mokhoa ho na u sebetsane khōlō. Lekane pele mofuta khutla ha mokhoa oa ho beha ho ka masakaneng angle le bolela ka ho toba entsprechen mofuta wa ho tsona.

Haeba tsohle e entseng ka tsela e tšoanang ho constructor ho:

Angle masakaneng tabeng ena beha pele lebitso la moqapi, hobane o na le se nang molemo oa ho boela. Phello ea mananeo a ka bobeli li tla ba e reng:

palotlalo

khoele

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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