Forskel mellem abstrakt klasse og interface

Forfatter: Laura McKinney
Oprettelsesdato: 3 April 2021
Opdateringsdato: 2 Juli 2024
Anonim
More than Coffee about Golang. Why Java developers are learning GO as a second language.
Video.: More than Coffee about Golang. Why Java developers are learning GO as a second language.

Indhold

Hovedforskel

Den største forskel mellem abstrakt klasse og interface er, at procedurerne for Java-interface er i det væsentlige abstrakte og ikke kan have applikationer. Så bredt at angive, interface er faktisk en kontrakt, og når vi taler om interface, gælder det, at metoderne ikke har et organ, det er bare et mønster. Mens abstrakte klasser dybest set er de klasser, der er dyre at bruge. Abstrakte klasser og interface er et helt andet koncept, dette er to forskellige ting, men til tider er implementeringerne ganske ens.


Hvad er abstrakt klasse?

En abstrakt klasse impliseres ikke fuldstændigt af programmereren. En abstrakt klasse kan have en eller flere abstrakte metoder. De er nyttige til modellering af en klassegruppe eller rangordning, og mens dette foregår, får programmereren idéen om, hvad der skal bygges, når de har set kravene. Man kan ikke påberåbe sig abstrakt klasse fuldstændigt, fordi den mangler nogle dele. Hovedpointen bag dette argument er, at den abstrakte klasse er strengt objektorienteret, selvom den har en metodeoverskrift, men intet organ. Når vi taler om abstrakte klasser, er der en stærk forbindelse mellem to klasser, fordi afhandlingsklasser har en tendens til at vinde eller arve fra hinanden.

Hvad er interface?

Når vi snakker om interface, tværtimod, er forholdet eller kommunikationen mellem selve interface og klassen, der antyder grænsefladen, ikke så stærk som i abstrakte klasser. En Java-klasse kan implementere mange grænseflader, men kan arve fra en enkelt abstrakt klasse. Så det betyder, at når du vil antyde mange interaktioner ad gangen, så er interface din ting. Bortset fra hele dette scenarie, selvom du ikke ønsker, at API'en skal ændres et stykke tid, er interface derfor den bedste mulighed for dig. Interface er faktisk kontrakten mellem to forskellige objekter. For at forkorte det, drejer interface omkring funktionaliteten.


Vigtige forskelle

  1. En abstrakt klasse er objektorienteret, mens interface er funktionsorienteret.
  2. Når du ønsker, at API skal forblive konstant et stykke tid, vælger du interface frem for abstrakt klasse.
  3. Flere arver kunne opnås ved at antyde flere grænseflader. Mens du er i abstrakt klasse, kan du ikke få flere arver.
  4. Hvis du har en stemning, som du i fremtiden ville have brug for at tilføje metoder til dit arbejde, er abstrakt klasse valgt, ikke interface.
  5. Abstrakt klasse giver en fælles baseklasseapplikation, men intet af det sker i interface.
  6. I interface er alle de metoder, du implementerer, offentlige, men i abstrakt klasse kan du også anvende nogle ikke-offentlige metoder.
  7. Konstruktører er ikke der i interface, men de forekommer i abstrakt klasse.
  8. Komplet medlem af abstrakt klasse kunne være statisk, men ikke af interface.

ill (ubtantiv)(ogå vinduekarmen) En vandret lameller, der danner bunden af ​​et vindue."Hun kiggede ud af vinduet og hvilede albuerne i vinduekarmen."ill (ubtantiv)Et vandret, trukturel...

ondeernæring Force-fodring er den praki at fodre et menneke eller et andet dyr mod dere vilje. Udtrykket "onde" () henvier til levering af et næringtof ved hjælp af et lille...

Friske Indlæg