Tablice usporedbe
Osnova za usporedbu | Proširuje | provodi |
---|---|---|
Osnovni, temeljni | Ključna riječ extends koristi se za stvaranje podklase pomoću značajki super klase. | Ključna riječ implementira se za implementaciju sučelja |
metode | Ključna riječ extends ne može poništiti sve metode super klase. | Ključna riječ implementira mora implementirati sve metode implementiranog sučelja. |
klasa | Klasa može proširiti samo jednu super klasu. | Klasa može implementirati više međuprostora. |
Sučelje | Sučelje može proširiti više od jednog sučelja. | Sučelje ne može implementirati drugo sučelje. |
Definicija ključne riječi extends
Nasljeđivanje je važan koncept u objektno orijentiranom programiranju, a postiže se kada podskupina proširuje još jedan superklasu. Podklasi je dopušteno proširiti samo jednu nadklasu. Klasa nikada ne može proširiti više od jedne super klase u Javi. Kada klasa proširi neku drugu klasu, ona može nadjačati metode definirane u nadklasi. Dopustite nam da razumijemo ključne riječi koje se protežu uz pomoć primjera.
klasa A {String s; A (String s1) {s = s1; } // prikaz niza void display () {System.out.println (+ s); }} klasa B proširuje A {String i; B (String s1, String i1) {super (s1); i = i1; } nevažeće dispaly () {super.dispaly (); / * display () pozvanog razreda A. * / System.out.println (+ i); }} Razred Override {public static void main (String args []) {B ob = new B (Tehnologija, Razlike); ob.display (); / * prikaz klase B pozvan * /}} / * out stavi * / Tehničke razlike
U gornjem kodu, možete primijetiti da je klasa B proširena klasa A i da je zamijenila prikaz metode () definiran u klasi A. Na sličan način sučelje može proširiti više od jednog sučelja u isto vrijeme. Kao što sučelje ne mora provoditi bilo koju metodu proširenog sučelja, stoga je dopušteno naslijediti više sučelja u isto vrijeme.
Definicija ključne riječi za alate
Koristeći ključne riječi implementira, klasa nasljeđuje sve metode u sučelju. Kada klasa implementira sučelje, ta klasa mora implementirati sve metode implementiranog sučelja. Sučelje nikada ne može implementirati drugo sučelje, jer implementira ključnu riječ obećava implementaciju metoda, ali sučelje nikada ne implementira metode u njemu, tako da je nemoguće za sučelje za implementaciju drugog sučelja. Razmotrimo ključnu riječ o primjenama uz pomoć primjera.
nizovi sučelja {void display (String s); } integer integer {void show (int i); } Klasa Demo implementira nizove, cijeli broj {void show (int i) {System.Out.Println ("cjelobrojna vrijednost:" + i); } void display (String s) {System.Out.Println ("vrijednost niza:" + s); }} klasa Demo_main {javni statički prazni glavni (string args []) {Demo d = novi Demo (); d.display ( "TechDifferences"); d.show (2); }} / * output * / TechDifferences 2
Kao u gornjem kodu možete vidjeti da demo klase implementira dva niza sučelja i cijeli broj te je implementirao metode deklarirane u oba sučelja koja su display () i show ().
Ključne razlike između produžetaka i uređaja
- Klasa može naslijediti drugu klasu, ili sučelje nasljeđuje druga sučelja koristeći ključnu riječ koja se proteže, dok klasa može implementirati sučelja koristeći ključnu riječ implementira.
- Podklasa koja proširuje nadrazred može ili ne mora nadjačati sve metode u nadklasi. S druge strane, klasa koja implementira sučelje mora definirati / implementirati sve metode tog sučelja.
- Klasa može implementirati bilo koji broj sučelja u isto vrijeme. S druge strane, klasa može proširiti samo jednu super klasu.
- Sučelje može proširiti bilo koji broj sučelja, ali sučelje nikada ne može implementirati bilo koje drugo sučelje jer implementacija znači definiranje metoda i sučelja uvijek imaju apstraktne metode tako da sučelje nikada ne može implementirati drugo sučelje.
Zaključak:
Zaključujem raspravu rekavši da implementacija sučelja čini kod fleksibilniji od proširenja klase. Kako izbjegava ograničenje nasljeđivanja samo jedne super klase u Javi. Korištenje ključne riječi implementira klasu može naslijediti značajke više od jednog sučelja.