Forskjellen mellom klasse og grensesnitt

Nøkkelforskjell - Klasse vs grensesnitt
 

Objektorientert programmering (OOP) er et felles paradigme i programvareutvikling. Det bidrar til å bringe virkelige scenarier til programmering ved hjelp av klasser og objekter. En klasse er en tegning for å skape et objekt. Programmereren kan lage en klasse med egenskaper og metoder. En student og lærer er objekter. Å lage en gjenstand er kjent som oppretting. OOP bruker også grensesnitt. Grensesnitt og klasse kan virke likt, men de har en forskjell. Denne artikkelen diskuterer forskjellen mellom en klasse og et grensesnitt. De nøkkelforskjell mellom en klasse og et grensesnitt er det en klasse er en referansetype som er en tegning for å instantiere et objekt mens grensesnittet er en referansetype som ikke kan brukes til å instantiere en gjenstand.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er klasse
3. Hva er grensesnitt
4. Likheter mellom klasse og grensesnitt
5. Side ved side-sammenligning - Klasse vs grensesnitt i tabellform
6. Sammendrag

Hva er klasse?

I OOP anses alt som et objekt. Det er ikke mulig å opprette et objekt uten en klasse. En klasse er en tegning for å skape et objekt. Når du bygger et hus, tegner arkitekten planen. Planen ligner en klasse. Huset ligner objektet. Klassen er planen om å bygge et objekt. Et objekt er det som er opprettet ved hjelp av klassen.

Klassen inneholder egenskaper og metoder. En student kan ha egenskaper som navn, klasse, indeksnummer. En student kan ha metoder som å lese, gå og studere. En klasse er opprettet med de nødvendige egenskapene og metodene.

Syntaxen for å lage en klasse i mange programmeringsspråk er som følger. Den er opprettet ved hjelp av søkeordsklassen.

klasse klassenavn

// eiendommer

// metoder

Programmeringsspråk som C # og Java følger en lignende syntaks for å lage et objekt ved hjelp av en klasse. Anta at klassenavnet er Student.

Student s1 = ny student ();

Denne s1 er objektet. Det "nye" søkeordet brukes til å tildele minne for egenskapene. En klasse har også en konstruktør for å initialisere egenskaper eller variabler.

Klassemedlemmer som egenskaper og metoder har tilgangsmodifikatorer. Tilgangspersoner beskriver tilgjengeligheten og synligheten til medlemmene i andre klasser. Medlemmer av klassen kan ha tilgangsspesifikatorer som offentlig, privat og beskyttet. Offentlige medlemmer er tilgjengelige i andre klasser. Private medlemmer er kun tilgjengelige for klassen. Beskyttede medlemmer er tilgjengelige i klassen og relevante underklasser.

Hva er grensesnitt?

Abstraksjon er en søyle for objektorientert programmering. Det er å skjule implementasjonsdetaljer og å vise funksjonaliteten til brukeren. Abstraksjon oppnås ved hjelp av abstrakte klasser og grensesnitt. En abstrakt metode har ingen implementering. En klasse som inneholder minst en abstrakt metode kalles en abstrakt klasse.

Når det er to abstrakte klasser, bør metodene deklarert i disse klassene implementeres. En ny klasse brukes til å implementere disse metodene. Hvis begge klassene hadde samme metode, kan det føre til et tvetydighetsproblem. Derfor har programmeringsspråk som Java og C # et grensesnitt.

Grensesnitt inneholder bare metodeerklæringen. Det er ingen metode for implementering. Også grensesnitt kan ikke brukes til å lage objekter. De brukes til å støtte flere arv og for å sikre koden.

Syntaxen til grensesnittet er som følger. Grensesnitt bruker søkeordet "grensesnitt".

grensesnitt grensesnittnavn

skriv metode1 (parameter_list);

skriv metode2 (parameter_list);

I henhold til ovenfor har grensesnitt kun erklæringen. Det er ingen definisjon. Så, grensesnitt kan ikke instantiere objekter. Det gir bare en abstrakt visning av hva grensesnittet er. Metoder oppgitt i grensesnittet kan implementeres av en eller flere klasser. En klasse bruker søkeordet "implementere" for å implementere et grensesnitt. Se under eksempel skrevet med Java.

Figur 01: Program ved hjelp av grensesnitt

I henhold til det ovennevnte programmet er A og B grensesnitt. Grensesnitt A har en metodedeklarasjon som er summen (). Grensesnitt B har en metodedeklarasjon sub (). Klasse C implementerer begge grensesnittene som er A og B. Derfor definerer klasse C både sum () og sub () metoder. Etter å ha opprettet objektet til type C, er det mulig å ringe begge metodene sum () og sub ().

Metoder som deklareres i grensesnittet, må alltid være offentlige fordi implementeringsklassene definerer dem. Et grensesnitt kan også arve fra et annet grensesnitt.

Hva er likhetene mellom klasse og grensesnitt?

  • Begge er referansetyper.
  • Begge gjelder for objektorientert programmering.

Hva er forskjellen mellom klasse og grensesnitt?

Klasse mot grensesnitt

En klasse er en referansetype som er en tegning for å skape et objekt. Et grensesnitt er en referansetype som ikke kan ordnes.
 Object Instantiation
En klasse brukes til å instantiere et objekt. Et grensesnitt kan ikke instansieres fordi metodene ikke klarer å utføre handlinger.
Constructor
En klasse inneholder en konstruktør, for å initialisere variablene. Et grensesnitt inneholder ikke en konstruktør fordi de nesten ingen variabler er å initialisere.
 søkeord
En klasse bruker søkeordet "klasse". Et grensesnitt bruker søkeordet "grensesnitt".
Tilgangspesifikator
Medlemmer av klassen kan være private, offentlige og beskyttede. Medlemmer av grensesnittet bør alltid være offentlige fordi implementeringsklassene definerer dem.

Oppsummering - Klasse vs grensesnitt

Klasser og grensesnitt er mye brukt i objektorientert programmering. Forskjellen mellom en klasse og et grensesnitt er at en klasse er en referansetype som er en tegning for å instantiere et objekt og grensesnitt er en referansetype som ikke kan brukes til å instantiere en gjenstand. En klasse kan implementere mange grensesnitt. Men det kan bare utvide en superklasse. I grensesnittet kan man arve mange grensesnitt, men det kan ikke være en implementering. Begge har sin betydning. Programmereren kan bruke dem i henhold til utviklingsprogramvare.

Last ned PDF Class vs Interface

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til off-line formål som per sitatnotat. Vennligst last ned PDF-versjon her Forskjellen mellom klasse og grensesnitt

Henvisning:

1.tutorialspoint.com. "Java-objekt og klasser.", Poenget. Tilgjengelig her 
2.navinreddy20. Grensesnittet i Java med et eksempel, Java By Navin Reddy, 11. desember 2012. Tilgjengelig her