Forskjellen Mellom Arv Og Grensesnitt I Java

Innholdsfortegnelse:

Forskjellen Mellom Arv Og Grensesnitt I Java
Forskjellen Mellom Arv Og Grensesnitt I Java

Video: Forskjellen Mellom Arv Og Grensesnitt I Java

Video: Forskjellen Mellom Arv Og Grensesnitt I Java
Video: Выпуск 149. Новая итерация проекта - неужели снова. 2024, November
Anonim

Nøkkelforskjell - Arv vs grensesnitt i Java

Java er et programmeringsspråk utviklet av Sun Microsystems. Java kan brukes til å utvikle forskjellige applikasjoner. Det er et multi-paradigmaspråk som støtter objektorientert, strukturert osv. Den viktigste fordelen med Java er at den støtter Object-Oriented programmering (OOP). Programmereren kan lage klasser og objekter. Det er fire søyler i OOP. De er arv, polymorfisme, abstraksjon og innkapsling. Arv og grensesnitt er relatert til OOP. Hovedforskjellen mellom arv og grensesnitt er at arv er å utlede nye klasser fra eksisterende klasser, og et grensesnitt er å implementere abstrakte klasser og flere arv.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er arv i Java

3. Hva er grensesnitt i Java

4. Likheter mellom arv og grensesnitt i Java

5. Sammenligning side om side - Arv vs grensesnitt i Java i tabellform

6. Sammendrag

Hva er arv i Java?

Arv kan oppnå nytte for kode. Arv hjelper til med å gjenbruke attributtene og metodene til en eksisterende klasse. Mekanismen for å utlede ny klasse ved hjelp av gammel klasse kalles arv. Den gamle klassen er kjent som foreldreklasse eller superklasse. Den avledede klassen kalles barneklasse eller underklasse.

Syntaksen for Java-arv er som følger.

class subclass_name extends superclass_name {

variabel erklæring;

metodedeklarasjon;

}

Arvkonsept kan forklares ved hjelp av følgende eksempel. Anta at det er en klasse kalt A som følger.

offentlig klasse A {

offentlig ugyldig sum () {

System.out.println (“Sum”);

}

}

Hvis vi vil legge til en ny metode uten å endre eksisterende klasse, kan vi gjøre det som følger.

offentlig klasse B {

offentlig ugyldig sub () {

System.out.println (“Sub”);

}

}

Programmerer kan bruke arv til å bruke klasse A sum ().

offentlig klasse B utvider klasse A {

offentlig ugyldig sub () {

System.out.println (“Sub”);

}

}

I hovedfunksjonen er det mulig å lage et objekt av B og ringe sub (), som tilhører klasse B og sum (), som tilhører klasse A ved hjelp av arv.

public static void main (String args) {

B obj = ny B ();

obj.sub ();

obj.sum ();

}

Det er forskjellige typer arv. De er enkeltarv, flere arv, arv på flere nivåer og hierarkiske arv. I enkelt arv er det en basisklasse og en avledet klasse. I flernivåarv er det tre klasser, nemlig baseklasse, mellomklasse og avledet klasse. Mellomklassen arver fra basisklassen, og avledet klasse arver fra mellomklassen. I hierarkisk arv er det en basisklasse og mange avledede klasser. Det er en spesiell type kjent som hybrid arv. Det er en kombinasjon av to eller flere typer arv.

Forskjellen mellom arv og grensesnitt i Java
Forskjellen mellom arv og grensesnitt i Java

Figur 01: Arv

I flere arv er det mange baseklasser og en avledet klasse. Anta at klasse A og B er basisklassene. Klasse C er den avledede klassen. Hvis både A- og B-klassene har samme metode og programmereren kaller den metoden fra den avledede klassen, vil det føre til et tvetydighetsproblem. Arving av to klasser kan forårsake en kompileringstidsfeil. Derfor støttes ikke flere arv i Java. Et grensesnitt kan brukes til å løse dette problemet.

Hva er grensesnitt i Java?

Abstraksjon er en prosess for å skjule implementeringsdetaljene og kun vise funksjonalitetene for brukeren. Abstraksjon kan oppnås ved hjelp av abstrakte klasser eller grensesnitt. En abstrakt metode er en metode uten implementering. En klasse med minst en abstrakt metode er en abstrakt klasse. Eksempel på en abstrakt klasse er som følger.

abstrakt klasse A {

abstrakt ugyldig sum ();

}

Anta at det er to abstrakte klasser som A og B. For å implementere abstrakte metoder for A og B, opprettes en ny klasse C. Deretter skal klasse C utvide både A og B., men flere arv støttes ikke i Java. Derfor bør bruke grensesnitt. Grensesnitt kan brukes til å erklære metoder, men det er ikke mulig å definere metoder. Det er ikke mulig å lage et objekt ved hjelp av grensesnitt. Klasse C skal implementere alle metodene i grensesnitt A og B.

grensesnitt A {

ugyldig sum ();

}

grensesnitt B {

ugyldig sub ();

}

klasse C redskaper A, B {

offentlig ugyldig sum () {

System.out.println (“Summation”);

}

offentlig ugyldig sub () {

System.out.println (“Subtraksjon”);

}

}

Nå, i hovedprogrammet er det mulig å lage et objekt av C og ringe begge metodene.

public static void main (String args) {

C obj = ny C ();

obj.sum ();

obj.sub ();

}

Så grensesnitt kan bruke til å implementere flere arv.

En annen bruk av grensesnitt er at det gir sikkerhet. Se koden nedenfor.

grensesnitt A {

ugyldig sum ();

}

klasse B redskaper A {

offentlig ugyldig sum () {

System.out.println (“Summation”);

}

offentlig ugyldig multipliser () {

System.out.println (“Multiplikasjon”);

}

}

Når du lager et objekt av B, er det mulig å kalle begge metodene sum () og multiplisere (). Hvis programmereren vil begrense bruken av multipliseringsfunksjonen (), er det mulig som følger.

public static void main (String args) {

En obj = ny B ();

obj.sum ();

}

En obj = ny B (); vil skape et objekt. Det er av type A og minnet er allokert som B. Det er mulig å ringe sum (), men kan ikke utføre multiplisere (). Denne begrensningen gjøres ved hjelp av grensesnitt.

Hva er likhetene mellom arv og grensesnitt i Java?

  • Begge begrepene er relatert til objektorientert programmering
  • Begge representerer IS-A-forhold.

Hva er forskjellen mellom arv og grensesnitt i Java?

Diff Article Midt før tabell

Arv vs grensesnitt i Java

Arv er et OOP-konsept for å utlede nye klasser fra de eksisterende klassene. Grensesnitt er en mekanisme i OOP for å implementere abstraksjon og flere arv.
Bruk
Arv gir gjenbrukbar kode. Grensesnitt gir abstraksjon og flere arv.

Sammendrag - Arv vs grensesnitt i Java

Java er et programmeringsspråk med flere paradigmer som støtter objektorientert programmering. Arv og grensesnitt er relatert til objektorientert programmering. Forskjellen mellom arv og grensesnitt er at arv er å utlede nye klasser fra eksisterende klasser og grensesnitt er å implementere abstrakte klasser og flere arv.

Last ned PDF-versjonen av Arv vs grensesnitt i Java

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til frakoblede formål som angitt i en henvisning. Vennligst last ned PDF-versjon her Forskjellen mellom arv og grensesnitt i Java

Anbefalt: