Forskellen Mellem Arv Og Interface I Java

Indholdsfortegnelse:

Forskellen Mellem Arv Og Interface I Java
Forskellen Mellem Arv Og Interface I Java

Video: Forskellen Mellem Arv Og Interface I Java

Video: Forskellen Mellem Arv Og Interface I Java
Video: Уроки Java для начинающих | #22 - Интерфейсы (interface) 2024, Kan
Anonim

Nøgleforskel - Arv vs interface i Java

Java er et programmeringssprog udviklet af Sun Microsystems. Java kan bruges til at udvikle forskellige applikationer. Det er et multi-paradigmesprog, der understøtter objektorienteret, struktureret osv. Den største fordel ved Java er, at det understøtter Object-Oriented programmering (OOP). Programmøren kan oprette klasser og objekter. Der er fire søjler i OOP. De er arv, polymorfisme, abstraktion og indkapsling. Arv og grænseflader er relateret til OOP. Hovedforskellen mellem arv og grænseflade er, at arv er at udlede nye klasser fra eksisterende klasser, og en grænseflade er at implementere abstrakte klasser og flere arv.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er arv i Java

3. Hvad er interface i Java

4. Ligheder mellem arv og interface i Java

5. Sammenligning side om side - Arv vs interface i Java i tabelform

6. Resumé

Hvad er arv i Java?

Arv kan opnå kode genbrugelighed. Arv hjælper med at genbruge attributterne og metoderne for en eksisterende klasse. Mekanismen til at udlede ny klasse ved hjælp af gammel klasse kaldes arv. Den gamle klasse er kendt som overordnet klasse eller super klasse. Den afledte klasse kaldes underklasse eller underklasse.

Syntaksen for Java-arv er som følger.

klasse underklassenavn udvider superklasse_navn {

variabel erklæring

metodedeklaration

}

Arvskoncept kan forklares ved hjælp af følgende eksempel. Antag at der er en klasse kaldet A som følger.

offentlig klasse A {

offentlig tom sum () {

System.out.println (“Sum”);

}

}

Hvis vi vil tilføje en ny metode uden at ændre den eksisterende klasse, kan vi gøre det som følger.

offentlig klasse B {

offentlig ugyldig sub () {

System.out.println (“Sub”);

}

}

Programmør kan bruge arv til at bruge klasse A-sum ().

offentlig klasse B udvider klasse A {

offentlig ugyldig sub () {

System.out.println (“Sub”);

}

}

I hovedfunktionen er det muligt at oprette et objekt af B og kalde sub (), der hører til klasse B og sum (), som tilhører klasse A ved hjælp af arv.

public static void main (String args) {

B obj = ny B ();

obj.sub ();

obj.sum ();

}

Der er forskellige typer arv. De er enkelt arv, flere arv, arv på flere niveauer og hierarkiske arv. I en enkelt arv er der en basisklasse og en afledt klasse. I arv på flere niveauer er der tre klasser, nemlig basisklasse, mellemklasse og afledt klasse. Den mellemliggende klasse arver fra basisklassen, og den afledte klasse arver fra den mellemliggende klasse. I hierarkisk arv er der en basisklasse og mange afledte klasser. Der er en særlig type kendt som hybrid arv. Det er en kombination af to eller flere typer arv.

Forskellen mellem arv og interface i Java
Forskellen mellem arv og interface i Java

Figur 01: Arv

I flere arv er der mange baseklasser og en afledt klasse. Antag, at klasse A og B er basisklasser. Klasse C er den afledte klasse. Hvis både A- og B-klasser har samme metode, og programmøren kalder den metode fra den afledte klasse, vil det medføre et tvetydighedsproblem. At arve to klasser kan forårsage en kompileringstidsfejl. Derfor understøttes flere arv ikke i Java. En grænseflade kan bruges til at løse dette problem.

Hvad er interface i Java?

Abstraktion er en proces med at skjule implementeringsdetaljerne og kun vise brugerens funktionalitet. Abstraktion kan opnås ved hjælp af abstrakte klasser eller grænseflader. En abstrakt metode er en metode uden implementering. En klasse med mindst en abstrakt metode er en abstrakt klasse. Eksempel på en abstrakt klasse er som følger.

abstrakt klasse A {

abstrakt ugyldig sum ();

}

Antag, at der er to abstrakte klasser som A og B. For at implementere abstrakte metoder i A og B oprettes en ny klasse C. Derefter skulle klasse C udvide både A og B., men flere arv understøttes ikke i Java. Brug derfor grænseflader. Grænseflader kan bruges til at erklære metoder, men det er ikke muligt at definere metoder. Det er ikke muligt at oprette et objekt ved hjælp af grænseflader. Klasse C skal implementere alle metoder i interface A og B.

interface A {

ugyldig sum ();

}

grænseflade B {

ugyldig sub ();

}

klasse C redskaber A, B {

offentlig tom sum () {

System.out.println (“Summation”);

}

offentlig ugyldig sub () {

System.out.println ("Subtraktion");

}

}

Nu er det i hovedprogrammet muligt at oprette et objekt af C og kalde begge metoder.

offentlig statisk ugyldig hoved (String args) {

C obj = ny C ();

obj.sum ();

obj.sub ();

}

Så grænseflader kan bruge til at implementere flere arv.

En anden brug af grænseflader er, at det giver sikkerhed. Se nedenstående kode.

interface A {

ugyldig sum ();

}

klasse B redskaber A {

offentlig tom sum () {

System.out.println (“Summation”);

}

offentlig ugyldig gang () {

System.out.println (“Multiplikation”);

}

}

Når du opretter et objekt af B, er det muligt at kalde begge metoder sum () og multiplicere (). Hvis programmøren ønsker at begrænse brugen af funktionen multiplicere (), er det muligt som følger.

public static void main (String args) {

A obj = ny B ();

obj.sum ();

}

A obj = ny B (); vil skabe et objekt. Det er af type A, og hukommelsen er allokeret som B. Det er muligt at kalde sum (), men kan ikke udføre multiplicere (). Denne begrænsning udføres ved hjælp af grænseflader.

Hvad er ligheden mellem arv og interface i Java?

  • Begge begreber er relateret til objektorienteret programmering
  • Begge repræsenterer IS-A-forhold.

Hvad er forskellen mellem arv og interface i Java?

Diff artikel midt foran bordet

Arv vs interface i Java

Arv er et OOP-koncept til at udlede nye klasser fra de eksisterende klasser. Interface er en mekanisme i OOP til implementering af abstraktion og multipel arv.
Anvendelse
Arv giver genanvendelighed af kode. Grænseflader giver abstraktion og flere arv.

Resumé - Arv vs interface i Java

Java er et multi-paradigme programmeringssprog, der understøtter objektorienteret programmering. Arv og grænseflader er relateret til objektorienteret programmering. Forskellen mellem arv og grænseflade er, at arv er at udlede nye klasser fra eksisterende klasser, og grænseflader er at implementere abstrakte klasser og flere arv.

Download PDF-versionen af arv vs interface i Java

Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem arv og interface i Java

Anbefalet: