Komputeran, Bernameyên
Java generiska: description û rêbazên
Dest bi xuyabûna bi zimanê Java di zîndanan de gelek guhertinên, ku bêguman de demên erênî li fonksiyonên xwe anîn. Yek ji van guherînên girîng danasîna Java Generic an binavkirinên e. Ev fonksiyonên de ne tenê zimanê nerm û rengawreng, di heman demê de jî di warê anîna cureyên daneyan pir ewletir bikin.
Rastî ev e ku berî destpêkirina generiska li Java buy code dikare bê afirandin, ne bi tenê di warê Object type reference. Wiha girêdan dikare ti object rêdan. Piştî ku hemû, dersên li Java wêris class Object zimnî ne. Lê belê, ev nêzîkatiya a Çavkaniyeke gelek şaşiyên related to cureyên ewlekariyê li ser zivirîna çavan ji bireserê ji Object ji bo cureyê hedef e. Dema bikaranîna binavkirinên hemû nûçeyî yên bi dizî û bi xweber pêk konseptê jî potansiyela wê ji bo çewtiyên.
Java generiska: description û nimûne
Bila ji me re mînakeke hêsan ya ku sepan ji prosesa ji bo sinifên normal, di hejmara bifikirin. Û piştre ji bo muayene bi detay yên hemû diguherîne û ciyawaziyên Java Generic bidomînî.
Bala xwe bidin ser riya ku daxuyaniya class de çêdibe Pair. Di cih de piştî navê polê de, bixemilînî aliyî vekirî, ku diyar nameya T. Ev cure, tujekirina, ew e ku di vê pêvajoyê de ji afirandina nimûneyeke vê class wê ji aliyê cureyê taybet şûna e. Wisa xuya dike ku wiha ne: Pair
Têbînî: em bi destpêka Versiyon ji heyştan ji Java, di kîjan cureyê target dema beyankirina bixemilînî kûrayî referansa li takvim dikare vala bimîne. So nimûne dikare wekî ku li jor rewritten: Pair
Dema ku çîna ku di bi vî awayî di bedena xwe de di şûna awayên taybet yên di warên, girêdan, objects vegeriya ji aliyê rêbazên tu ku nameya bi kar îlankirin, paşê. Ji ber ku T dema ku di afirandina objeya class de bi taybetî, qadên yekem û duyem di vê rewşê de wê ji type Integer de bê guhertin.
Piştî ku mentiqa argumentên û firstItem secondItem, hewaleyê ji takvim hanê bi Divê ji type Integer an Bineçîn be. Eger tu hewl deden a type welat e ku cuda ji tiştê ku hate dîyarkirin di dema afirandina an object, danerê wê ev şaşîtî bila ne. Bi vî awayî, me yên avakirinê argumentên ku dema ku object wê wek be wiha ne: Pair
Gelemperî bi cureyên class çend Parametreyên
Di dersên giştî dikare bi Parametreyên multiple cureyê ku bi di nav parantêzê de nabêje bi kommayê set îlan. Peyevk destê doza class Pair li jêr tê pêşkêş kirin.
Wek ku hûn dibînin, gava ku tu nimûneyeke vê class create di nav parantêzê de nabêje, divê bi heman hejmara cureyên wek Parametreyên nîşan didin. Eger tu bi vî rengî jî, strûktûra Daneyên wek Map nas in, hûn dikarin bibînin ku ev kar tam heman rêbazê. type of value - heye, ku argumana yekem type of key, û ya duyem jî dibêje. Ev divê bê diyarkirin, ku cureyên nexasme dema ku argumentên object dikarin tevîhev. Ji bo nimûne, ad jêr Pair nimûne class misogerî rast e: Pair
Hinek taybetmendiyên giştî yên
Ji berî çûna din de, divê bê diyarkirin ku dendikên Java nade versiyonên cuda yên Pair class de biafirîne. Di rastiyê de, di vê pêvajoyê de ji bo daneheva a type giştî û hemû agahiyên li jêbirin. Li şûna wê, ku tu cureyên guncaw bîne, afirandina guhertoyeke taybet yên çîna Pair. Lê belê, di bernameyê de ye, hê jî bi tenê a Versiyon ji buy yên ku çîna hene. Ev pêvajoya ku di Java type paqijî Generic kir.
Nîşe xaleke girîng. Links to versîyonên cuda yên heman class buy java ne, dikarin ji bo yek û object eynî. Ku ye, difikirin, em du links: Pair
Qedexeye li ser çînên generic
Ev girîng e ku bizanibin ku binavkirinên dikare bi tenê ji bo îşaret bi cureyên e, ku ev e ku derbas Parametreyên buy argumana java class divê type class be. Ev cure sade, wek raxîne, du qat an dirêj, nayê dewirkirin. Bi gotineke din, di xeta van Pair daxuyaniya class nayê ne bi destûr: Pair
Din tahdîdeke cidî li ser neşiyana ji bo afirandina nimûne ji type parametre e. Ji bo nimûne, xeta jêr dê bibe yek error compilation: T yekem = T nû (). Ev zelal e, ji ber ku hûn di pêş nizanin gelo ku mesele derbas a class full an razber, an jî virtual. Heman tişt ji bo afirandina array.
cureyên sînorkirî
Gelek caran ne rewşên dema ku pêwîst e ji bo sînorkirina lîsteya cureyên ku dikare wekî argumana ji bo java class buy re derbas bûn. Werin, em texmîn dikin ku li Pair class me em dixwazin ku encapsulate tenê nirxên hejmarî ji bo operasyonên bîrkariyê de bêhtir li ser wan. Ji bo vê jî divê em ji bo danasîna sînorên jor yên cureyê parametre. Ku bi rêya ads superclass maye, hemû argumentên derbas di nav parantêzê de nabêje fêm kir. Ev dê wiha ne: class Pair
Ev pêşwazîkirina hevpar e. Sînorkirinên weha bi gelek caran ji bo ne Parametreyên type rêde di yek û heman polê de. mînaka hizrên xwe li class Pair me dike: class Pair
Astengkirina "jêr" bi heman rengî ye, lê li şûna peyva ber bi avaniyê de super peyva. Ku class ye nepenî Pair
rêbazên Java Generic û constructors
Di Java, binavkirinên dikare ne tenê ji bo çînên serî, lê bi rêbazên. Ji bo nimûne, rêbazeke buy dikarin di polê de bi berdewamî ragihand.
Weke ku di hejmara jor dît, rêbaza ad gelemperî no deal mezin e. Bes li ber type vegera rêbazeke ku bixemilînî eşkêla û diyar Parametreyên type the di wan de.
Eger her tiştî ye, ji avakirinê kirin:
bixemilînî Angle di vê rewşê de, berî bi navê designer danîn, ji ber ku ew ti nirxa vegera. Di encama her du bernameyên wê:
integer
ben
Similar articles
Trending Now