Gränssnitt och abstrakta klasser i Java

Innehållsförteckning
Även om båda strukturerna kan verka lika eftersom de tvingar klasserna som använder dem att skapa de metoder de har och använda dem så att de kan vara giltiga, har de viktiga skillnader mellan dem, vilket kan ge oss mer ljus över hur vi kan använda dem .
Skillnaderna, även om de är subtila, gör att vi kan använda båda strukturerna även i kombination, på så sätt kan vi uppnå större ordning i vårt projekt och skapa applikationer som gör att vi bättre kan reproducera objekt från den verkliga världen i ett digitalt format.
BegränsningarDen största skillnaden ser vi mellan abstrakta klasser och gränssnitt är att den första är en klass och den andra inte, även om gränssnitt har en liknande struktur inför restriktioner som inte finns i a abstrakt klass.
VariablerDe abstrakt klass har ingen begränsning i användningen av variabler, men gränssnitt om den har det måste faktiskt alla variabler som vi ska använda vara offentlig, statisk eller slutgiltig.
I detta fall byggare av abstrakt klass måste åberopas genom underklasser, vilket utesluter möjligheten att instansera det via operatören ny.
I fallet med gränssnitt, detta kan inte ha konstruktörer eftersom det inte är en klass, vilket gör att vi också slänger skapandet av instanser med operatören ny.
MetoderI en gränssnitt metoderna måste vara offentlig abstrakt Å andra sidan kan vi i den abstrakta klassen placera alla typer av metoder utan problem, vilket gör ytterligare en skillnad för oss.
En annan punkt som vi måste ta hänsyn till är sättet att göra arv och implementering som vi kan uppnå med dessa två strukturer i Java, det vet vi när vi gör det arv I en klass kan vi bara ärva direkt från en överklass, det vill säga om vi vill ärva från två olika klasser måste vi skapa som en kaskadeffekt, där en första klass ärver från överklassen och sedan en annan klass ärver från detta för att få dess funktionalitet och dess föräldraklass.
I gränssnitt Detta problem uppstår inte, vi kan faktiskt ärva direkt från flera gränssnitt, så om vi vill skaffa deras metoder kan vi göra det utan problem.

I fallet med implementering av ett gränssnitt i en abstrakt klass om vi har mer frihet, i det här fallet kan vi implementera flera gränssnitt utan någon form av begränsning i det här fallet, vilket ger oss möjlighet att göra ett mer komplext överordnat gränssnitt så att säga. Det viktiga här är att veta och ta hänsyn till att ett gränssnitt inte är en klass och därför inte kan ärva från en, det kan bara göra arv från andra gränssnitt.

Med detta avslutar vi denna handledning, vi har sett skillnaderna i begränsningar och implementering i våra program av dessa två strukturer i JavaÄven om båda tjänar till att modellera och definiera beteenden, har var och en sitt eget utrymme, så när vi känner dem bättre kommer vi att kunna bestämma vilken som ska användas i våra program gjorda med detta språk.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave