Diferența cheie - Moștenire vs interfață în Java
Java este un limbaj de programare dezvoltat de Sun Microsystems. Java poate fi folosit pentru a dezvolta diverse aplicații. Este un limbaj multi-paradigmă care acceptă orientarea obiectelor, structurat etc. Principalul avantaj al Java este că acceptă programarea orientată pe obiecte (OOP). Programatorul poate crea clase și obiecte. Există patru piloni în POO. Sunt moștenire, polimorfism, abstractizare și încapsulare. Moștenirea și interfețele sunt legate de OOP. Diferența cheie dintre moștenire și interfață este că moștenirea este de a obține noi clase din clasele existente și o interfață este de a implementa clase abstracte și moștenirea multiplă.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este moștenirea în Java
3. Ce este interfața în Java
4. Asemănări între moștenire și interfață în Java
5. Comparație side by side - Moștenire vs interfață în Java în formă tabelară
6. Rezumat
Ce este Moștenirea în Java?
Moștenirea poate realiza reutilizarea codului. Moștenirea ajută la reutilizarea atributelor și metodelor unei clase existente. Mecanismul derivării clasei noi folosind vechea clasă se numește moștenire. Vechea clasă este cunoscută sub numele de clasă părinte sau super clasă. Clasa derivată se numește clasă sau subclasă copil.
Sintaxa moștenirii Java este următoarea.
class subclass_name extinde superclass_name {
declaratie variabila;
declararea metodei;
}
Conceptul de moștenire poate fi explicat folosind următorul exemplu. Să presupunem că există o clasă numită A după cum urmează.
clasa publica A {
public nul sumă () {
System.out.println („Suma”);
}
}
Dacă dorim să adăugăm o nouă metodă fără a schimba clasa existentă, o putem face după cum urmează.
clasa publica B {
public void sub () {
System.out.println („Sub”);
}
}
Programatorul poate folosi moștenirea pentru a utiliza suma clasei A ().
clasa publică B extinde clasa A {
public void sub () {
System.out.println („Sub”);
}
}
În funcția principală, este posibil să creați un obiect al lui B și să apelați sub (), care aparține clasei B și sum (), care aparține clasei A folosind moștenirea.
public static void main (String args) {
B obj = nou B ();
obj.sub ();
obj.sum ();
}
Există diferite tipuri de moștenire. Ele sunt moștenire unică, moștenire multiplă, moștenire pe mai multe niveluri și moștenire ierarhică. În moștenirea unică, există o clasă de bază și o clasă derivată. În moștenirea pe mai multe niveluri, există trei clase și anume, clasa de bază, clasa intermediară și clasa derivată. Clasa intermediară moștenește din clasa de bază, iar clasa derivată moștenește din clasa intermediară. În moștenirea ierarhică, există o clasă de bază și multe clase derivate. Există un tip special cunoscut sub numele de moștenire hibridă. Este o combinație de două sau mai multe tipuri de moștenire.
Figura 01: Moștenire
În moștenirea multiplă există multe clase de bază și o clasă derivată. Să presupunem că clasa A și B sunt clasele de bază. Clasa C este clasa derivată. Dacă ambele clase A și B au aceeași metodă și programatorul apelează acea metodă din clasa derivată, va provoca o problemă de ambiguitate. Moștenirea a două clase poate provoca o eroare în timpul compilării. Prin urmare, moștenirea multiplă nu este acceptată în Java. O interfață poate fi utilizată pentru a depăși această problemă.
Ce este interfața în Java?
Abstracția este un proces de ascundere a detaliilor de implementare și de afișare a utilizatorului doar funcționalități. Abstracția poate fi realizată folosind clase abstracte sau interfețe. O metodă abstractă este o metodă fără implementare. O clasă cu cel puțin o metodă abstractă este o clasă abstractă. Exemplul unei clase abstracte este următorul.
clasa abstractă A {
sumă nulă abstractă ();
}
Să presupunem că există două clase abstracte ca A și B. Pentru a implementa metode abstracte ale lui A și B, se creează o nouă clasă C. Atunci clasa C ar trebui să extindă atât A cât și B. Dar moștenirea multiplă nu este acceptată în Java. Prin urmare, ar trebui să utilizeze interfețe. Interfețele pot fi folosite pentru a declara metode, dar nu este posibil să se definească metode. Nu este posibil să creați un obiect folosind interfețe. Clasa C ar trebui să pună în aplicare toate metodele din interfața A și B.
interfața A {
sumă nulă ();
}
interfața B {
void sub ();
}
Clasa C implementează A, B {
public nul sumă () {
System.out.println („Sumare”);
}
public void sub () {
System.out.println („Scădere”);
}
}
Acum, în programul principal este posibil să creați un obiect C și să apelați ambele metode.
public static main main (String args) {
C obj = C nou ();
obj.sum ();
obj.sub ();
}
Deci, interfețele se pot utiliza pentru a implementa moștenirea multiplă.
O altă utilizare a interfețelor este că oferă securitate. Consultați codul de mai jos.
interfața A {
sumă nulă ();
}
Clasa B implementează A {
public nul sumă () {
System.out.println („Sumare”);
}
public void multiply () {
System.out.println („Multiplicare”);
}
}
Atunci când creați un obiect al lui B, este posibil să apelați ambele metode sum () și multiply (). Dacă programatorul dorește să restricționeze utilizarea funcției multiply (), este posibil după cum urmează.
public static void main (String args) {
A obj = new B ();
obj.sum ();
}
A obj = new B (); va crea un obiect. Este de tip A și memoria este alocată ca B. Este posibil să apelați sum (), dar nu puteți executa multiply (). Această restricție se face folosind interfețe.
Care sunt asemănările dintre moștenire și interfață în Java?
- Ambele concepte sunt legate de programarea orientată pe obiecte
- Ambele reprezintă o relație IS-A.
Care este diferența dintre moștenire și interfață în Java?
Difuzarea articolului din mijloc înainte de tabel
Moștenire vs interfață în Java |
|
Moștenirea este un concept OOP pentru a obține noi clase din clasele existente. | Interfața este un mecanism în POO pentru a implementa abstractizarea și moștenirea multiplă. |
Utilizare | |
Moștenirea oferă reutilizarea codului. | Interfețele oferă abstracție și moștenire multiplă. |
Rezumat - Moștenire vs Interfață în Java
Java este un limbaj de programare multi-paradigmă care acceptă programarea orientată pe obiecte. Moștenirea și interfețele sunt legate de programarea orientată pe obiecte. Diferența dintre moștenire și interfață este că moștenirea este de a obține clase noi din clasele existente și interfețele este de a implementa clase abstracte și moștenire multiplă.
Descărcați versiunea PDF a Inheritance vs Interface în Java
Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline, conform notei de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre moștenire și interfață în Java