Computeren, Programméiere
Java Generics: Beschreiwung a Methoden
Ugefaange mam Optrëtt vun der Java Sprooch huet vill Ännerungen, wat sech sécherlech positiv Momenter a senger Funktionalitéit matbruecht. Eent vun dëse groussen Ännerungen ass d'Aféierung vun Java Allgemeng oder forméiert ass. Dëst Funktionalitéit net nëmmen maachen d'Sprooch méi flexibel a villsäiteger, mä och vill méi sécher wat vun der Daten Zorte bruecht.
D'Tatsaach ass, dass virun der Aféierung vun generics an Java Allgemeng Code geschaf ginn hätt, net nëmmen am Beräich vun Typ Referenz Zweck. Esou Linken kann all Objet zougewisen ginn. No all, sinn am Java Klassen impliziten Zweck Klass Ierwen. Allerdéngs ass dës Approche eng potentiell Quell vu ville Feeler ze Sécherheet Zorte am visuell Konversioun vun engem Objet aus den Objet an d'Zil Typ dinn. Wann forméiert ass all würfelt benotzt ginn implizit an automatesch gesuergt, fir Feeler och d'Potential eliminéiert.
Java Generics: Beschreiwung an Beispill
Loosst eis engem einfachen Beispill vun der Applikatioun vun generalization zu regelméisseg Klassen an der Figur ënnen betruecht. An dann op eng detailléiert Analyse vun all subtleties an Nuancen vun Java Allgemeng virgoen.
Oppassen op de Wee an déi Klass Deklaratioun Pair existeiert. Direkt no der Klass Numm, oppen Wénkel Klammeren, déi de Bréif T. uginn Et ass eng Zort Absacker, déi vun deems en Beispill vun dëser Klass am Prozess ass gëtt vun engem bestëmmten Typ ersat ginn. Et gesäit wéi follegt: Pair
Opgepasst: ugefaange mat der aachten Versioun vun der Java, d'Zil- Typ Precisioun wann Wénkel Referenz hirt Klammeren am constructor eidel ginn lénks kënnen. Sou zum Beispill Single kann wéi uewen: Pair
Wann eng Klass ass an esou enger Manéier deklaréiert, dann a sengem Kierper amplaz spezifesch Zorte vu Felder, Linken, déi Methoden zréck Objete Dir dass Bréif benotze kann. Zanter T wann schafen der Klass Objet vun engem bestëmmten Typ, éischten an zweete Felder an dësem Fall ginn vum Typ ganz ageholl ass.
No der Logik vun den Argumenter an firstItem secondItem, Éieren de passenden constructor och vun Typ ganz oder Ënnerklass ginn muss. Wann Dir Versuch eng Daten Typ ze weiderginn, datt aus verschiddene ass wat uginn huet, wann en Objet ze schafen, wäert de Compiler net dat virbildlechen Ugrëff loossen. Also, wann d'Argumenter constructor en Objet wéi follegt ginn: Pair
Generaliséiert mat Zorte puer Parameteren Klass
An generaliséiert Klassen kann och MÉI Parameteren vum Typ erklären dass am Wénkel Klammeren mat engem verbrauchen Formatioun sinn. Layout vun engem Fall Pair Klass ass ënnert presentéiert.
Wéi Dir gesitt, wann Dir en Beispill vun dëser Klass am Wénkel Klammeren schafen sollen déi selwecht Zuel vun Zorte wéi Parameteren uginn. Wann Dir mat dësem Typ vun Daten Struktur wéi enger Kaart Gewunnecht ginn, kënnt Dir kucken, dass et genau déi selwecht Prinzip benotzt. Do, ginn déi éischt Argument der Zort Schlëssel, an der zweeter - den Typ vun Wäert. Et soll feststellen, datt d'Zorte vu iwwerdroen wann en Objet Argumenter iwwerlageren kann. Zum Beispill, ass folgend ad Pair Klass Beispill absolut korrekt: Pair
Verschidde Funktiounen vun forméiert
Ier weider lass, soll et bemierkt ginn, datt d'Java Compiler net verschidde Versiounen vun der Klass Pair heescht schafen. An Tatsaach, am Prozess e generaliséiert Typ all d'Informatiounen vun beroden ass geläscht. Amplaz, bréngt Iech de passenden Zorte, eng speziell Versioun vun der Pair Klass schafen. Mä am Programm do ass nach just eng Allgemeng Versioun vun der Klass. Dëse Prozess ass an Java Allgemeng Botzen Typ genannt.
Note e wichtege Punkt. Linken op verschidde Versiounen vun der selwechter nei Adress Allgemeng Klass kann net fir eng an déi selwecht Objet Punkt. Dat ass, unhuelen, mir hunn zwee Linken: Pair
Restriktiounen op Allgemeng Klassen
Et ass wichteg ze wëssen, datt forméiert ass just applizéiert gin kann Zorte ze referenzéieren, dh Parameteren Allgemeng Klass nei Adress Argument ze Ugrëff muss enger Klass Typ gin. Dës einfach Zorte, wéi, e.g., duebel oder laang, kann net iwwerdroe ginn. An anere Wierder, ass folgend Linn Pair Klass Deklaratioun net erlaabt: Pair
Anere schlëmmen begrenzten Dauer ass d'Onméiglechkeet en Beispill vun der Parameter Typ ze schafen. Zum Beispill gëtt de folgende Linn engem Resultat Feeler féieren: T éischt = nei T (). Dat ass kloer, well Dir am Viraus net wëssen ob en Argument engem voll Klass oder mythologesch huet, oder och Interface. Déi selwecht zielt och fir flamenden Ofgrond schafen.
limitéiert Zorte
Ganz oft ginn et Situatiounen, wou et néideg der Lëscht vun Zorte ze limitéieren, datt als Argument den kann Allgemeng Klass ze nei Adress. Loosst eis dovun ausgoen, datt an eiser Klass Pair mir nëmmen de z'identifizéieren Wäerter fir weider mathematesch Operatiounen op hinnen ze Eegenschaften wëllen. Maachen dat brauchen mir déi iewescht Limite vun der Parameter Typ ze definéieren. Et ass mat Hëllef vun engem superclass Annoncen ierflecher all d'Argumenter den am Wénkel Klammeren realiséiert. Et wäert kucken wéi follegt: Klass Pair
Dëst ass eng gemeinsam empfaangen. Esou Restriktiounen sinn oft fir Onbedenklechkeet Typ Parameteren an eent an der selwechter Klass benotzt. Betruecht der Beispill an eiser Klass Pair: Klass Pair
der "ënnen" limitéieren ass genee déi selwecht Aart a Weis, mä amplaz vum Wuert Preventioun Wuert super ze iwerstoen. Dat ass kleng Klass Pair
Allgemeng Java Methoden an constructors
An Java, kann forméiert ass fir d'Klassen net nëmmen applizéiert ginn, mä och Methoden. Zum Beispill, kann e Allgemeng Method an engem regelméissegen Klassesall deklaréiert ginn.
Wéi uewen an der Figur gesinn, ass de ad generaliséiert Method keng grouss Laascht. Genuch virum Retour Typ vun enger Method de Wénkel Klammeren Virsprong an der Zort Parameteren an hinnen uginn.
Wann alles ass den Zerfall an d'constructor gemaach:
Wénkel Klammeren an dësem Fall virun den Numm vun der Designer Mëtt duerchgesat huet, well hien huet kee Wäert zréck. D'Resultat vu béide Programmer ginn:
ganz
String
Similar articles
Trending Now