Skillnaden mellan abstrakt klass och gränssnitt

Författare: Laura McKinney
Skapelsedatum: 3 April 2021
Uppdatera Datum: 2 Juli 2024
Anonim
Skillnaden mellan abstrakt klass och gränssnitt - Utbildning
Skillnaden mellan abstrakt klass och gränssnitt - Utbildning

Innehåll

Huvudskillnad

Den viktigaste skillnaden mellan abstrakt klass och gränssnitt är att procedurerna för Java-gränssnittet i huvudsak är abstrakta och inte kan ha applikationer. Så i stort sett är gränssnitt faktiskt ett kontrakt och när vi talar om gränssnitt gäller det att metoderna inte har en kropp, det är bara ett mönster. Medan abstrakta klasser i princip är de klasser som är dyra att använda. Abstrakta klasser och gränssnitt är ett helt annat koncept, det här är två olika saker men ibland är implementeringarna ganska lika.


Vad är abstrakt klass?

En abstrakt klass antyds inte helt av programmeraren. En abstrakt klass kan ha en eller flera abstrakta metoder. De är användbara för att modellera en klassgruppering eller rangordning och medan detta genomförs får programmeraren idén om vad som måste byggas efter att ha sett kraven. Det går inte att lita på abstrakt klass helt eftersom det saknar delar. Huvudpoängen bakom detta argument är att den abstrakta klassen är strikt objektorienterad, även om den har en metodrubrik men ingen kropp. När vi pratar om abstrakta klasser, finns det en stark koppling mellan två klasser, eftersom dessa klasser tenderar att vinna eller ärva från varandra.

Vad är gränssnitt?

När vi talar om gränssnitt, snarare tvärtom, är förhållandet eller kommunikationen mellan gränssnittet självt och klassen som antyder gränssnittet inte lika starkt som det är i abstrakta klasser. En Java-klass kan implementera många gränssnitt men kan ärva från en enda abstrakt klass. Så det betyder att när du vill antyda många interaktioner på en gång så är gränssnitt din sak. Bortsett från hela scenariot, även om du inte vill att API ska ändras på ett tag är gränssnittet det bästa alternativet för dig. Gränssnitt är faktiskt kontraktet mellan två olika objekt. För att minska det, kretsar gränssnittet kring funktionaliteten.


Viktiga skillnader

  1. En abstrakt klass är objektorienterad medan gränssnittet är funktionsorienterat.
  2. När du vill att API ska vara konstant ett tag väljer du gränssnitt över abstrakt klass.
  3. Flera arv kan erhållas genom att antyda flera gränssnitt. I abstrakt klass kan du inte få flera arv.
  4. Om du har en vibe som du i framtiden skulle behöva lägga till metoder i ditt arbete väljs abstrakt klass, inte gränssnitt.
  5. Abstrakt klass ger en gemensam basklassapplikation men ingenting av detta händer i gränssnittet.
  6. I gränssnittet är alla metoder du implementerar offentliga men i abstrakt klass kan du också tillämpa vissa icke-offentliga metoder.
  7. Konstruktörer finns inte i gränssnittet men de förekommer i abstrakt klass.
  8. Komplett medlem av abstrakt klass kan vara statisk men inte gränssnitt.

Den törta killnaden mellan alkoholer och fenoler är att alkoholen hydroxylgrupp är bunden till en mättad kolatom, medan fenolen hydroxylgrupp är direkt bunden till en kolmolek...

Dea är de två termerna om har betydele inom olika livområden och därför har använt på olika ätt, men de kiljer ig mycket från varandra. Huvudkillnaden mell...

Populär Idag