principala diferență între clasa abstractă și interfața în Java este că clasa abstractă este folosită pentru implementarea abstractizării în timp ce interfața este utilizată pentru implementarea abstractizării, precum și a moștenirii multiple.
Un pilon major în Programarea Object Oriented (OOP) este Abstraction. Este procesul de ascundere a detaliilor implementării și afișarea numai a funcționalității utilizatorului. De exemplu, utilizatorul nu are nevoie să înțeleagă circuitele din interiorul telecomenzii pentru ao opera. Abstracția este similară cu aceea. Acesta permite programatorului să se concentreze asupra a ceea ce face obiectul în loc de modul în care se face. În Java, există două metode de realizare a abstractizării: prin utilizarea claselor abstracte și prin utilizarea interfețelor. Mai mult, moștenirea este un alt pilon PPE. Se referă la utilizarea datelor și a metodelor unei clase deja existente. Moștenirea multiplă se referă la utilizarea datelor și metodelor din mai multe clase. Este posibil să se implementeze mai multe moșteniri utilizând interfețe.
1. Ce este clasa abstractă în Java
- Definiție, funcționalitate
2. Ce este interfața în Java
- Definiție, funcționalitate
3. Care este diferența dintre clasa abstractă și interfața în Java
- Compararea diferențelor cheie
Clasă abstractă, interfață, moștenire multiplă
O clasă care este declarată cu cuvântul cheie abstract este cunoscută ca o clasă abstractă. O clasă abstractă poate avea metode abstracte, precum și metode non-abstracte. O clasă poate extinde o clasă abstractă și poate implementa metodele abstracte ale clasei abstracte. Nu este posibil să creați obiecte dintr-o clasă abstractă, dar este posibil să creați obiecte dintr-o clasă care extinde clasa abstractă. Consultați exemplul de mai jos.
Figura 1: Clasa abstractă a formei
Figura 2: Clasa dreptunghiulară
Figura 3: Clasa principală pentru programul 1
Forma este o clasă abstractă. Ea are metoda abstractă de desen și metode non-abstract. Clasa dreptunghiulară extinde forma. Prin urmare, clasa Rectangle implementează trasarea abstractă a metodei. În funcția principală, este creat un obiect Rectangle. Obiectul obj.draw () va apela metoda în Rectangle draw () și va imprima "Rectangle".
O interfață în Java este similară unei clase. Toate metodele dintr-o interfață sunt metode abstracte. Similar unei clase abstracte, o interfață nu poate fi instanțiată. O interfață poate fi utilizată atât pentru abstractizare, cât și pentru implementarea moștenirii multiple. O interfață este declarată utilizând cuvântul cheie de interfață. O clasă care implementează interfața trebuie să implementeze toate metodele declarate în interfață. Consultați exemplul de mai jos care ilustrează utilizarea interfeței pentru a obține abstractizarea.
Figura 4: Interfața de formă
Figura 5: Clasa cercului
Figura 6: Clasa principală a programului 2
Forma este o interfață, care are o metodă abstractă numită remiză. Clasa Circle extinde forma. Prin urmare, clasa Circle implementează metoda abstractă. În funcția principală, este creat un obiect Circle. S.draw () va apela metoda draw in Circle si va imprima "Circle".
Interfețele pot fi, de asemenea, folosite pentru a pune în aplicare mai multe moșteniri.
Figura 7: Interfața A
Figura 8: Interfața B
Figura 9: Clasa C
Figura 10: Clasa principală a programului 3
Interfața A și B au ambele metode de afișare abstractă. Clasa C implementează interfața A și B. Clasa C oferă implementarea pentru afișarea metodei. În metoda principală, se creează un obiect din C. Obiectul obj va apela metoda de afișare în C și va tipări "Hello World!".
O clasă abstractă este o clasă declarată cu un cuvânt cheie abstract, care este o colecție de metode abstracte și ne-abstracte. În schimb, o interfață în Java este un tip de referință care este similar cu o clasă care este o colecție de metode abstracte. Aceasta este diferența de bază dintre clasa abstractă și interfața din Java.
Variabilele folosite sunt o diferență între clasa abstractă și interfața din Java. În timp ce o clasă abstractă poate avea variabile finale, non-finale, statice și non-statice, o interfață poate avea doar variabile statice și finale.
O altă diferență între clasa abstractă și interfața în Java este aceea că clasa abstractă poate avea metode abstracte și metode non-abstracte, în timp ce interfața nu poate avea decât metode abstracte.
Mai mult, clasele abstracte nu pot fi folosite pentru a pune în aplicare mai multe moșteniri. Dar interfețele pot fi folosite pentru a implementa mai multe interfețe. Prin urmare, putem spune că aplicabilitatea este o diferență între clasa abstractă și interfața în Java.
De asemenea, cuvântul cheie abstract este folosit pentru a declara clasa abstractă, dar cuvântul cheie de interfață este folosit pentru a declara o interfață.
În plus, o clasă abstractă poate fi extinsă utilizând cuvântul cheie "extinde". O clasă de interfață poate fi implementată utilizând cuvântul cheie "implementează".
În plus, clasa abstractă poate fi implementată utilizând cuvântul cheie "implementează", în timp ce interfața este utilizată pentru implementarea abstractizării, precum și a moștenirii multiple.
Diferența dintre clasa abstractă și interfața din Java este aceea că clasa abstractă este folosită pentru implementarea abstractizării în timp ce interfața este folosită pentru a implementa abstractizarea, precum și moștenirea multiplă.
1. "Clasa abstractă în Java - Javatpoint". Www.javatpoint.com, disponibil aici.
2. "Interfața în Java - Javatpoint". Www.javatpoint.com, disponibil aici.