Telefonia, Prugrammazione
Java Generics: discrizzione è i metudi
Principianu cù l 'aspettu di a lingua Java hà suppurtatu assai di cambiamenti, chì di sicuru purtatu stonde pusitiva in u so funziunalità. Unu di sti cambiamenti impurtante hè a surghjenti di Java Scetti o giniralizzazzioni. Sta funziunalità ùn solu fà a lingua di più sòffice, è pulivalenti, ma dinù assai più sicura in termini di cuddà i tippi dati.
U fattu hè chì u scopu di i testi di generics in Java codice generica pussutu esse creatu, micca solu in termini di ogetti tipu di riferenza. Vergogna ligami pò esse cunsideratu ogni uggettu. Dopu tuttu, bassa in Java sò eredi classi ogetti implicit. Tuttavia, sta dimarchja hè un putenziale surghjente di tanti numarosi riguardanti tippi di sicurezza in u cunversione apparenti di n oggettu da u ogetti di lu tipu testu. Quandu cù giniralizzazzioni tutti casts sò tutu implicitly è in autumàticu, sciugliendu, ancu u putenziale di sbagghi.
Java Generics: discrizzione è esempiu
Andemu guardà una sèmplice esempiu di l 'applicazzioni di generalisation a classi di modu regulare in a figura sottu. E poi pinsà à una esaminazioni info di tutti i subtleties e sustanzi di Java Scetti.
Pacà, attente à u modu in cui lu dichjarazione classi mangianu Pair. Subitu dopu à u nomu di classi, piazza, angle, apartu, chì indettatu u lettera T. Hè un tipu di aiguiller, chì hè in u prucessu di crià un esempiu di sta volta hà da esse sustituita da un tipu spicìficu. U friscalettu E comu segue: Pair
Nota: principianu cù l 'uttavu versione di u Java, indettendu u tippu testu quandu dichjarà mènzuli angle, riferimentu a la regala pò esse manca viotu. So esempiu si pò rewritten cum'è sopra: Pair
Quandu un gruppu hè dichjaratu in un tali manera, tandu in u so corpu, invece di scrive specifichi di campi, ligami, oggetti ritornu da u metudu vi ponu aduprà chì lettera. Dapoi T quandu facenu l 'uggettu di classi hè sustituitu da un tipu particulare, a prima e seconda campi, in stu casu, hà da esse di u tippu nteru.
Dopu à l 'affare di u argumenti è firstItem secondItem, s'arrifirisci a lu regala degne ci vole dinù esse di tipu nteru o subclass. Sè vo tintatu di trasmèttala un tipu di dati chì hè sfarente di ciò chì fù renseigné quandu criannu un oggettu, u compiler ùn vi nghiùttiri di lu sbagghiu. Cusì, u argumenti regala quandu hà da esse un oggettu di a siguenti manera: Pair
Generalized cù tippi classi parechji login
In bassa generalized ponu dinù cuntaraghju a multiplicità di paràmetri di u tippu chì sò crià in piazza, angle, cù un vince. Rimanighjatu da un casu di classi Pair hè prisentata sottu.
Comu si pò vede, quandu vo à creà un esempiu di sta volta in piazza, angle, duvia specificà u listessu numeru di tippi cum'è cunnessione. Sè vo site pràticu cun stu tipu di struttura di dati com'è un Map, vi ponu vede chi si usa esattamente u listessu principiu. Ci, u primu argumentu specifies u tippu di chjave, è lu secunnu - u tippu di valore. It S'avissi a nutari ca li tipi di trasmessi quandu una argumintazzioni 'uggettu pò suvrapponnu. Per esempiu, i seguenti A ad Pair esempiu di classi hè propriu veru: Pair
Certi funziunalità di giniralizzazzioni
Nanzu andava più, si deve esse rimarcatu chì u compiler Java ùn creà differente versione di u Pair classi. In fatti, in u prucedimentu di compiling un tipu generalized tutti l 'infurmazione hè sguassati. Invece, vi vene u sorta degne, criannu una versione in particulare di i classi Pair. Tuttavia, à u prugrammu ci hè sempre solu una versione generica di i classi. Sta dimarchja hè chjamatu in Java tipu pulizia Scetti.
Nota un puntu impurtante. Links di diverse versioni di u listessu classi generica di giava ùn pò puntu à unu è u listessu oggettu. Chì hè, ch'ellu sarà avemu dui ligami: Pair
Ristrizzione su classi generica
Hè impurtante di sapè chì giniralizzazzioni pò esse applicata solu per riferisce tippi, chì hè di passà per login generica argumentu di giava classi deve esse un tipu di classi. Sti tipi di sèmplice, cume, p.e., doppia, o longu, ùn pò esse spustatu. In autri paroli, lu dichjarazione classi Pair cchìstu ligna ùn hè dirittu: Pair
Un altru limitazzioni gravissimu hè u incapaci à creà un esempiu di u tippu paràmetru. Per esempiu, u dopu ligna vi facissi un errore divisa: T prima = novu T (). Stu hè piacè, perchè vo ùn sapete in anticipu s'ellu un argumentu passau una classi piena o astrattu, o ancu interfaccia. U listessu và per criannu Linguastat.
tippi limitata
Spessu ci sò situazzioni quandu ci vole à limità a lista di tippi chì ponu esse passatu cum'è un argumentu di Java classi generica. Andemu pigghiarivi chì in a nostra Pair classi noi vulemu cù solu i valori numericu di più priculosi matemàtiche nant'à elli. Per fà stu avemu bisognu di definisce u limitu alta di u tippu paràmetru. Si hè avvistu da i mezi di una annunci superclass ereditatu tutti l 'argumenti passau in piazza, angle. Ci hà da circà a siguenti: classi Pair
Quissa hè una saletta cumune. Vergogna à limitalli sò spissu usatu à furniscia login tipu cumpatibulità à unu è lu stissu di classi. Guardà u esempiu in i nostri classi Pair: classi Pair
Limitannu lu "fondu" hè esattamente a listessa manera, ma 'nveci di a parolla si stendi a scriviri la parola Squarzafici. Chi di classi hè classatu Pair
metudi Java generica è constructors
In Java, giniralizzazzioni pò esse applicata micca solu à i corsi, ma dinò di i metudi. Per esempiu, un mètudu generica pò esse dichjaratu in una scola rigulari.
Comu vidi a la figura di supra, lu mètudu A ad generalized c'è granni usure. San Francè nanzu u tippu ritornu di una pratica à mette u mènzuli angle, è cù i paràmetri di tippu in elli.
Sè tuttu hè fattu simile à u regala:
mènzuli Angle in stu casu, messi davanti à u nomu di u criatori, perchè ùn hà valore ritornu. U risultatu di dui prugrammi sarà:
nteru
String
Similar articles
Trending Now