Nøkkelforskjell – klasse vs grensesnitt
Objektorientert programmering (OOP) er et vanlig paradigme innen programvareutvikling. Det hjelper å bringe virkelige scenarier til programmering ved hjelp av klasser og objekter. En klasse er en blåkopi for å lage et objekt. Programmereren kan lage en klasse med egenskaper og metoder. En elev og lærer er objekter. Å lage et objekt er kjent som instansiering. OOP bruker også grensesnitt. Grensesnitt og klasse kan virke like, men de har en forskjell. Denne artikkelen diskuterer forskjellen mellom en klasse og et grensesnitt. Den viktigste forskjellen mellom en klasse og et grensesnitt er at en klasse er en referansetype som er en blåkopi for å instansiere et objekt mens grensesnittet er en referansetype som ikke kan brukes til å instansiere et objekt.
Hva er klasse?
I OOP betraktes alt som et objekt. Det er ikke mulig å lage et objekt uten en klasse. En klasse er en blåkopi for å lage et objekt. Ved husbygging tegner arkitekten planen. Planen ligner på en klasse. Huset ligner objektet. Klassen er planen for å bygge et objekt. Et objekt er det som lages ved hjelp av klassen.
Klassen inneholder egenskapene og metodene. En elev kan ha egenskaper som navn, karakter, indeksnummer. En elev kan ha metoder som å lese, gå, studere. En klasse opprettes med de nødvendige egenskapene og metodene.
Syntaksen for å lage en klasse i mange programmeringsspråk er som følger. Den er opprettet ved hjelp av søkeordklassen.
class class_name {
// properties
//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. Nøkkelordet "nye" 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. Tilgangsspesifikasjoner beskriver tilgjengeligheten og synligheten til disse medlemmene for andre klasser. Medlemmer av klassen kan ha tilgangspesifikasjoner som offentlig, privat og beskyttet. Offentlige medlemmer er tilgjengelige for andre klasser. Private medlemmer er kun tilgjengelige for klassen. Beskyttede medlemmer er tilgjengelige innenfor klassen og relevante underklasser.
Hva er grensesnitt?
Abstraction er en pilar i objektorientert programmering. Det er for å skjule implementeringsdetaljene og for å 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 én abstrakt metode kalles en abstrakt klasse.
Når det er to abstrakte klasser, bør metodene som er deklarert i disse klassene implementeres. En ny klasse brukes til å implementere disse metodene. Hvis begge klassene hadde samme metode, kan det forårsake et tvetydighetsproblem. Derfor har programmeringsspråk som Java og C et grensesnitt.
Grensesnitt inneholder kun metodedeklarasjonen. Det er ingen metode for implementering. Grensesnitt kan heller ikke brukes til å lage objekter. De brukes til å støtte flere arv og for å sikre koden.
Syntaksen til Interface er som følger. Grensesnitt bruker søkeordet "grensesnitt".
interface interface_name{
type method1(parameter_list);
type method2(parameter_list);
}
I henhold til ovenfor har grensesnitt kun erklæringen. Det er ingen definisjon. Så grensesnitt kan ikke instansiere objekter. Det gir bare et abstrakt syn på hva grensesnittet er. Metoder deklarert i grensesnittet kan implementeres av en eller flere klasser. En klasse bruker nøkkelordet "implementere" for å implementere et grensesnitt. Se eksemplet nedenfor skrevet med Java.
Figur 01: Program med grensesnitt
I følge programmet ovenfor er A og B grensesnitt. Grensesnitt A har en metodeerklæring som er sum(). Grensesnitt B har en metodeerklæring 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 av type C, er det mulig å kalle begge metodene sum() og sub().
Metoder som er deklarert 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 er relatert til objektorientert programmering.
Hva er forskjellen mellom klasse og grensesnitt?
Klasse vs grensesnitt |
|
En klasse er en referansetype som er en blåkopi for å lage et objekt. | Et grensesnitt er en referansetype som ikke kan instansieres. |
Objektforekomst | |
En klasse brukes til å instansiere et objekt. | Et grensesnitt kan ikke instansieres fordi metodene ikke kan utføre noen handling. |
Konstruktør | |
En klasse inneholder en konstruktør for å initialisere variablene. | Et grensesnitt inneholder ikke en konstruktør fordi de knapt er noen variabler å initialisere. |
søkeord | |
En klasse bruker søkeordet «klasse». | Et grensesnitt bruker søkeordet "grensesnitt". |
Access Specifier | |
Medlemmer av klassen kan være private, offentlige og beskyttede. | Medlemmer av grensesnittet bør alltid være offentlige fordi implementeringsklassene definerer dem. |
Sammendrag – 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 blåkopi for å instansiere et objekt og grensesnitt er en referansetype som ikke kan brukes til å instansiere et objekt. En klasse kan implementere mange grensesnitt. Men det kan bare utvide en superklasse. I grensesnitt kan arve mange grensesnitt, men det kan ikke være en implementering. Begge har sin betydning. Programmereren kan bruke dem i henhold til programvareutvikling.
Last ned PDF-klassen vs grensesnitt
Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til offline-formål i henhold til sitat. Last ned PDF-versjon her Forskjellen mellom klasse og grensesnitt