Această lecție rapidă în Aflați Java pentru dezvoltarea Android seria vă arată cum să verificați în mod condiționat tipul de obiect folosind instanță de
cuvânt cheie în Java.
Am vorbit despre multe dintre afirmațiile fundamentale Java condiționale din Aflați Java pentru Dezvoltare Android: Sintaxă Java tutorial. De exemplu, Java oferă toți operatorii tipici condiționali care s-ar putea aștepta, inclusiv cei care să verifice egalitatea, inegalitatea, mai mare decât, mai puțin, etc.
Iată câteva coduri Java care verifică valoarea unei variabile numerice (numită iVar) și furnizează căi de cod diferite în funcție de valoarea iVar zero, negativă sau pozitivă:
dacă (iVar == 0) // variabila este zero altceva dacă (iVar> 0) // variabila este un număr pozitiv altceva // variabila este un număr negativ
Acum, să examinăm o caracteristică Java specifică pe care o puteți utiliza și în declarații condiționale. Deoarece Java este un limbaj complet orientat pe obiecte, puteți de asemenea să testați dacă un obiect are un anumit tip (o instanță dintr-o anumită clasă) folosind condiționarea instanță de
cuvinte cheie. instanță de
cuvântul cheie este un operator boolean, folosit ca un operator obișnuit de tip boolean pentru a genera un rezultat adevărat sau fals.
Să examinăm un exemplu rapid. Să presupunem că avem o clasă părinte numită Fish, care are două subclase derivate: Saltwater Fish și FreshwaterFish. Am putea folosi instanță de
cuvânt cheie pentru a testa dacă un obiect este o instanță a unei anumite clase (sau a unei subclase) după nume:
SaltwaterFish nemo = noul SaltwaterFish (); dacă (nemo exemplu de pește) // avem un fel de pește // ar putea fi un pește (clasa parentală) sau o subclasă de un fel, cum ar fi // SaltwaterFish sau FreshwaterFish. dacă (nemo exemplu de SaltwaterFish) // Nemo este un pește sărat!
Deci, când vine vorba de dezvoltarea Android, când este instanță de
facilitate utile? Ei bine, pentru început, clasele Android SDK sunt organizate în mod obișnuit, orientat spre obiect: ierarhic. De exemplu, clasele precum Button, TextView și CheckBox, care reprezintă diferite tipuri de controale ale interfeței cu utilizatorul, sunt toate derivate din aceeași clasă parentală: View. Prin urmare, dacă ați vrut să creați o metodă care a avut un parametru View, dar a avut un comportament diferit în funcție de tipul de control specific, ați putea utiliza instanță de
mecanism pentru a verifica parametrul de intrare și pentru a determina exact ce fel de control de vizualizare a fost trecut în.
De exemplu, următoarea metodă are un parametru View, permițându-vă să treci în orice tip de vizualizare, dar în mod special să ieșiți din controalele TextView pentru procesare specială:
void checkforTextView (View v) if (v instanceof TextView) // Acesta este un control TextView altceva // Acesta nu este un control TextView
În acest exemplu, s-ar putea să continuăm apelând la o metodă care este valabilă doar pentru un obiect TextView și nu pentru obiectul generic View - în acest caz, ar fi probabil să aruncăm parametrul View la un TextView înainte de efectuarea unui astfel de apel. Dacă, totuși, am vrut să efectuăm un apel care este disponibil în toate obiectele Vizualizați, dar se comportă diferit în obiectele TextView, nu este nevoie să încercați acest lucru. Java se va ocupa de numirea versiunii corespunzătoare a metodei specifice pentru TextView. Aceasta este una dintre marile trăsături ale programării orientate obiect: se numește cea mai potrivită versiune a unei anumite metode.
În această lecție rapidă ați învățat cum să utilizați instanță de
Cuvânt cheie Java pentru a verifica tipul de obiect la execuție și a furniza căi de cod condiționate pe baza rezultatelor. Aceasta este o caracteristică Java la care dezvoltatorii de la Android se bazează adesea, deoarece Android SDK este organizat ierarhic.
Dezvoltatorii mobili Lauren Darcey și Shane Conder au coautorizat mai multe cărți despre dezvoltarea Android: o carte de programare în profunzime intitulată Dezvoltarea aplicațiilor fără fir Android și Sams TeachYourself Dezvoltarea de aplicații Android în 24 de ore. Când nu scriu, își petrec timpul dezvoltând software-ul mobil la compania lor și oferind servicii de consultanță. Acestea pot fi obținute prin e-mail la androidwirelessdev@[email protected], prin intermediul blogului lor la androidbook.blogspot.com, și pe Twitter @ androidwireless.