Care este diferența dintre clasa abstractă și interfața în Java

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.

Domenii cheie acoperite

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

Termeni cheie

Clasă abstractă, interfață, moștenire multiplă

Ce este clasa abstractă în Java

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".  

Ce este interfața în Java

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!".

Diferența dintre clasa abstractă și interfața în Java

Definiție

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.

variabile

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.

metode

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.

Moștenire multiplă

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.

Cuvinte cheie ale clasei

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ță. 

Extinderea și implementarea

Î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ă".

Punerea în aplicare

Î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.

Concluzie

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ă.

Referinţă:

1. "Clasa abstractă în Java - Javatpoint". Www.javatpoint.com, disponibil aici.
2. "Interfața în Java - Javatpoint". Www.javatpoint.com, disponibil aici.