O interfață este un tip de referință care este utilizat pentru a aplica un contract cu o clasă. Un contract se referă la obligația de a implementa metodele pe care le definește o interfață.
Interfețele oferă o abstracție între metodele pe care le definesc și modul în care utilizatorul le implementează într-o clasă. Un caz practic de utilizare este în API-uri (Interfețe de programare a aplicațiilor).
API-urile permit programului dvs. să comunice cu alte programe fără să știe cum sunt implementate. Acest lucru este important atât din motive de proprietate (pentru compania care deține drepturile), cât și pentru dezvoltarea ușoară din partea dvs.
Să aruncăm o privire la modul de utilizare a interfețelor Java.
Definirea interfețelor
Pentru a declara o interfață, plasați cuvântul cheie interfață înainte de numele interfeței.
interfață Mașină {
// declarații constante, dacă există
anvelope int = 4;
// semnăturile metodei
lumini int (luminozitate int);
int turn (pneuri int, direcția șirului) {
// ceva cod
}
}
În antetul interfeței, puteți include și nivelul de vizibilitate al acestuia înainte de cuvântul cheie interfață.
Valorile dintr-o interfață sunt constante. Aceste valori sunt implicite public, static și final. Prin urmare, nu este necesar să utilizați aceste cuvinte cheie în timp ce declarați valori în corpul unei interfețe.
Legate de: Cum se gestionează domeniul variabil în Java
Corpul unei interfețe poate avea, de asemenea implicit, abstract, static metode. Aceste metode sunt implicite public, deci nu este nevoie să indicați acești modificatori de acces atunci când le declarați.
Metodele abstracte sunt declarate lăsând în afara parantezele cretate ale corpului unei metode. Vezi linia 7 din codul de mai sus. Metodele statice sunt declarate prin continuarea numelui metodei cu cuvântul cheie static Metodele & implicite sunt declarate cu Mod implicit modificator.
Acum ar fi un moment bun să menționăm că trebuie să utilizați metode declarate într-o interfață în orice clasă care o implementează. În caz contrar, compilatorul va „pune în aplicare contractul” printr-o eroare de compilare.
Această proprietate specială a interfețelor poate avea unele dezavantaje. Luați în considerare un caz în care un furnizor de interfață de programare a aplicațiilor (API) decide să adauge mai multe metode la interfețele lor, dar mai multe aplicații se bazează pe interfețele vechi. Dezvoltatorii care folosesc vechile interfețe în programele lor ar trebui să își rescrie codul, ceea ce nu este practic.
Deci, acolo este Mod implicit vin metodele. Acestea permit furnizorilor API să adauge mai multe metode la interfețele lor, asigurând în același timp compatibilitatea binară cu versiunile mai vechi de interfață.
implicit int getDirection (Coordonate șir) {
// scrieți un cod pentru a da o implementare implicită
}
Metoda de mai sus arată cum se numește o metodă implicită getDirection este declarat. Observați că trebuie să includeți o implementare a unei metode implicite atunci când o scrieți.
Utilizarea interfețelor
Acum am definit interfețe în Java, putem trece la modul în care le puteți implementa. Veți afla acest lucru în secțiunea de mai jos.
Implementarea interfețelor
Pentru a implementa o interfață, utilizați cuvântul cheie unelte folosind această sintaxă:
clasa A implementează interfața P {
}
Amintiți-vă că trebuie să utilizați toate metodele de interfață din clasă. Puteți ignora această regulă numai dacă una dintre metode este definită ca Mod implicit în interfață.
Legate de: Introducere în utilizarea listelor conectate în Java
Dacă doriți ca clasa dvs. să implementeze mai multe interfețe, le puteți separa folosind virgule în declarația de antet.
Exemplu:
clasa A implementează interfața P, Q, R {
}
Dacă clasa care implementează interfața este o subclasă, utilizați sintaxa de mai jos:
clasa A extinde B implementează C, D {
}
Interfețele permit mai multe moșteniri în Java. De obicei, o clasă poate extinde o singură clasă (moștenire unică). Interfețele sunt singura modalitate prin care Java poate realiza mai multe moșteniri.
Interfețele pot extinde și alte interfețe, la fel cum o clasă poate extinde o altă clasă. Interfața copil moștenește metodele interfeței pe care o extinde.
Vedeți exemplul de mai jos:
interfața A se extinde B {
}
În afară de utilizarea metodelor implicite pentru a modifica o interfață fără a cere dezvoltatorilor să își modifice programele actuale, puteți extinde și interfețele existente.
Acum aveți cunoștințe de bază despre interfețele Java
Interfețele din Java demonstrează abstractizarea, unul dintre cei patru piloni ai programării orientate pe obiecte. Polimorfismul este unul dintre acești patru stâlpi. Se referă la capacitatea unei metode de a lua mai multe forme.
Puteți implementa polimorfismul în Java prin supraîncărcarea metodelor sau prin suprascrierea metodei. Următorul pe lista dvs. de citire Java ar trebui să fie cum să implementați aceste funcții.
Reduceți codul pe care îl scrieți cu suprasolicitarea și suprascrierea metodei.
Citiți în continuare
- Programare
- Java
- Limbaje de programare
- Programare
Jerome este scriitor de personal la MakeUseOf. El acoperă articole despre programare și Linux. El este, de asemenea, un entuziast criptografic și ține mereu la curent industria cripto.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Faceți clic aici pentru a vă abona