Salve, questo è dannoso per il ritormo ininterrotto, non aggiriamoci un po 'e diamo un'occhiata a ciò che
riguarda la riflessione sulla stoppazione.
E vedremo anche Veritas che in genere usa reflection permette ai programmi di avviare i raggruppamenti mentre consente
ai programmi di introspettare codice conosciuto o sconosciuto.
Ad esempio, ci consente di visualizzare quali metodi liberi e costruttori sono definiti in una particolare classe o in un
oggetto senza nemmeno conoscere i loro nomi in fase di compilazione.
È possibile ottenere tutte queste informazioni moderne direttamente al runtime stesso.
Tutto ciò di cui hai bisogno è un nome di classe come stringa o riferimento a un oggetto o anche il nome di un'interfaccia.
E tu puoi ottenere tutte le informazioni di Malocchio su quella particolare entità tale introspezione ci permetterebbe
di influenzare anche quel comportamento di runtime.
Ad esempio, se si conosce il nome della classe in fase di esecuzione, sarà possibile
caricare la classe creare un'istanza della classe e persino richiamare determinati metodi su tale istanza, anche impostare o ottenere valori di
libera risoluzione di tale istanza.
Quindi fondamentalmente la riflessione ti permette di vedere che cosa ha una classe su un'interfaccia o un oggetto.
Anche se il comportamento di runtime, facendo cose come creare istanze e invocare i loro metodi, è possibile vedere tutto
ciò in una demo che faremo presto in un paio di conferenze.
Non consideriamo alcuni casi di uso comune auto-riflessione.
Idee come Eclipse usano la riflessione per offrire quella capacità di navigazione di classe.
Ad esempio nel nostro codice sorgente non appena si digita un riferimento a un oggetto seguito da un operatore
eclissi dog mostrerebbe automaticamente tutti i metodi che possono essere richiamati su quell'oggetto.
Quindi è possibile una riflessione più profonda poiché una riflessione consente all'eclipse di introspettarsi.
La classe dell'oggetto nel contesto e ci mostra tutti i metodi che possono essere invocati su quell'oggetto e altri usi
dell'auto-riflessione è l'elaborazione e le annotazioni dell'ottico su nient'altro che i metadati Ardit il
codice sorgente.
Questa è la base A. H. codice sorgente.
Ad esempio, quando scriviamo discus di G-Unit, lo sappiamo.
I metodi hanno dato il meglio sulla notazione.
Lasciami tirare il mio editore e possiamo guardare il disco OK.
Ecco un caso di test unitario e qui stiamo testando un paio di metodi, quindi qui ci sono due casi di test.
Questo è gestito e c'è un altro qui.
Quindi la migliore ipotesi è costante, ma questo carrello delle annotazioni al meglio.
OK, questo è il framework di test della jail unit su Usenet dove si
usa qualcosa chiamato Amazon annotation processor che fondamentalmente processerebbe questa classe e cercherebbe metodi che non sono dichiarati
con questa notazione.
OK, così come abbiamo detto, cercherà queste informazioni di Malocchio in modo da ordinare le informazioni
sul modello, quindi potrebbe anche influire sul comportamento di runtime che il vate farebbe sarebbe
caricare questa classe chiamata Test studenti sotto la sua creazione un'istanza di esso e quindi Eirgrid
avrebbe sfidato questi metodi che sono ripetuti con questa particolare animazione in uscita bene questi metodi metodi sull'istanza
creata.
OK, ecco come funzionerebbe.
Il processore di annotazione alla fine di questo capitolo.
Abbiamo un esercizio di codifica e l'esercizio di codifica costruiremo effettivamente un quadro di test
unitario molto semplice, ma invece di elaborazione.
Quindi elaboreremo questo tipo di classe ma, invece di cercare una tale animazione, cercheremo in realtà
metodi che inizino in un certo modo con una determinata parola chiave.
Quindi esercizio non esercitato cercheremo metodi che hanno iniziato questo.
Chiamerebbe meglio OK, quindi cerchiamo certi schemi nel nome del metodo.
Ecco come lo facciamo.
Ecco come sarà diverso.
Quindi lo vedremo quando arriveremo lì.
Quindi questo è il processore Bishan e per la classe bronzing lo sappiamo già.
Quindi diciamo che usiamo tutte queste idee che è ciò che il giudice ha ordinato il pacchetto di dll.
Se colpiamo un documento qui, mostreremo tutti i metodi presenti in questa classe.
Questa è la funzione di classe di navigazione che l'ID ci fornisce, quindi Id è il processore di annotazione, quindi questi sono strumenti
che fanno uso della riflessione su quando stiamo costruendo questo tipo di strumenti.
È comune usare la riflessione.
OK, quindi questi sono i due esempi stirati.
Torniamo alle classifiche, non così questi sono due buoni esempi.
Ora Hibernate è un framework automatico che usa anche questo tipo di probation su Hibernate, quindi usa la reflection
per identificare i membri di una classe che sono A. D e un uso interessante della riflessione è quando creiamo dei
proxy dinamici su quell'acqua marina.
Solo un semplice esempio
Vediamo se hai la classe Student con il profilo di aggiornamento del metodo.
Non diciamo che vogliamo misurare il tempo necessario per uscire da questo metodo, forse vogliamo anche
fare lo stesso per molte delle nostre classi in un caso del genere che può rilasciare un'istanza o una classe studente
in un proxy dinamico e che il proxy fornisce logica aggiuntiva per misurare il tempo di esecuzione del metodo che un client
può richiamare lo stesso metodo del profilo di aggiornamento sul proxy dinamico sul voto del proxy, fatto in Mugdha,
un metodo bit profile nella classe Student.
Inoltre, misura anche il tempo necessario per eseguirli nonostante il codice che misura l'uscita e
il tempo sia tenuto separato dal metodo di profilo aggiornato che ha la logica aziendale effettiva.
Questo è il vantaggio chiave.
Questo proxy dinamico sarebbe una classe molto generica.
E così può essere usato per prop qualsiasi delle classi inferiori l'implementazione è stata piuttosto interessante.
Includerò un collegamento a un semplice tutorial su questo argomento e probabilmente potrai verificarlo dopo
aver terminato con refl ..
Ma la cosa principale da notare è che il proxy dinamico è creato tramite il singhiozzo della riflessione, tutti
comprendono che la riflessione riguarda le informazioni di Mad-Eye su classi, oggetti e interfacce.
Ma sappiamo anche dalla lezione di classe che l'oggetto di classe è tutto incentrato su
questa informazione di Malocchio e brevemente ne dedichiamo alcuni metodi.
Quindi la domanda è: useremo la classe o l'oggetto qui.
E la risposta è si.
Quindi non è solo DBMS Glocester che fa uso di oggetti di classe, ma anche noi sviluppatori possiamo fare uso
di oggetti di classe mentre si usa il reflection.
In realtà questo diagramma mostra che il punto di ingresso per la riflessione è ottenere un riferimento all'oggetto classe in modo
che la riflessione non sia possibile senza l'accesso a un oggetto classe.
E la riflessione non è vincolata solo a questa classe chiamata classe, ma le classi da Jalandhar a Langbroek riflettono
il ritorno di Gaige sono anche parte del rifl ..
Ma il punto di ingresso sarebbe ancora l'oggetto di classe.
Quindi la classe e il dottor Dharwad Il pacchetto Langer può essere troppo buono, considerato più buono
come una reflection API nella prossima lezione.
Vedremo come possiamo ottenere un oggetto di classe.
Dopo l'oscurità lasceremo ancora di più.
Vedremo anche alcune delle classi per lui Javadoc Lang Daut rispecchiano il pacchetto.
Quindi questo è tutto.
Grazie.
La nostra prossima mossa esaminerà come accedere ad un oggetto di classe.