CATEGORII DOCUMENTE |
Una dintre imbunatatirile aduse limbajului Java dupa versiunea 1.0 a fost introducerea reflexiei, cunoscuta si sub numele de introspectie.Sub orice nume s-ar folosi, reflexia permite unei clase Java - cum sunt toate programele scrise pana acum - sa afle detalii despre orice alta clasa.
Prin reflexie un program Java poate incarca o clasa despre care nu stie nimic, sa afle despre variabilele, metodele si constructorii clasei si apoi sa lucreze cu ele.
Listingul de mai jos prezinta o aplicatie Java care creaza un obiect de tip Random si apoi foloseste reflexia pentru a afisa toate metodele publice care fac parte din clasa:
import java.lang.reflect.*;
import java.util.Random;
class AflaMetode
}
}
Folosind reflexia, aplicatia AflaMetode poate afla informatii despre fiecare metoda a clasei Random si despre toate metodele pe care le-a mostenit de la superclasa Random.
Aplicatia AflaMetode poate functiona pentru orice clasa de obiecte.
Reflexia este folosita de obicei de utilitare ca browserele de clasa sau depanatoarele, ca o modalitate de a afla mai multe despre clasa de obiecte analizata sau depanata.Este de asemenea folosita de JavaBeans, unde posibilitatea unui obiect de a interoga un alt obiect asupra a ceea ce poate sa faca (urmata de o cerere de a efectua ceva) este folositoare in crearea aplicatiilor mai mari.
Pachetul java.lang.reflect contine urmatoarele clase:
- Field - gestioneaza si afla informatii despre variabilele de instanta si de clasa
- Method - gestioneaza metodele de clasa si de instanta
- Constructor - gestioneaza metodele speciale de creare a noilor instante de clasa
- Array - gestioneaza tablouri
- Modifier - decodifica informatii de modificare despre clase, variabile si metode.
In plus exista un numar de noi metode disponibile intr-o clasa de obiecte numita Class, care ajuta la conectarea diferitelor clase de reflexie.
Reflexia reprezinta un element avansat de programare pe care este posibil sa nu il folosim in programe prea des dar care devine foarte importanta atunci cand se lucreaza cu JavaBeans si alte elemente de programare Java avansate.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1169
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved