Grensesnitt og abstrakte klasser i Java

Innholdsfortegnelse
Selv om begge strukturene kan virke like siden de tvinger klassene som bruker dem til å lage metodene de har og bruke dem slik at de kan være gyldige, har de viktige forskjeller mellom dem, noe som kan gi oss mer lys over hvordan vi kan bruke dem .
Forskjellene, selv om de er subtile, lar oss bruke begge strukturene selv i kombinasjon, på denne måten kan vi oppnå større orden i prosjektet vårt og lage applikasjoner som lar oss bedre reprodusere objektene i den virkelige verden i et digitalt format.
BegrensningerHovedforskjellen ser vi mellom abstrakte klasser og grensesnitt er at den første er en klasse og den andre ikke, selv om grensesnitt har en lignende struktur overfor restriksjoner som ikke finnes i a abstrakt klasse.
VariablerDe abstrakt klasse har ingen begrensninger i bruken av variabler, men grensesnitt hvis den har det, må faktisk alle variablene vi skal bruke være offentlig, statisk eller endelig.
I dette tilfellet bygger av abstrakt klasse må påkalles gjennom underklasser, noe som utelukker muligheten for å instantiere det gjennom operatøren ny.
I tilfelle av grensesnitt, dette kan ikke ha konstruktører siden det ikke er en klasse, noe som gjør at vi også forkaster opprettelsen av forekomster med operatøren ny.
MetoderI en grensesnitt metodene må være offentlig abstrakt På den annen side kan vi i den abstrakte klassen plassere hvilken som helst type metode uten problemer, noe som gjør enda en forskjell for oss.
Et annet poeng vi må ta hensyn til er måten å gjøre arv og implementering på som vi kan oppnå med disse to strukturene i Java, det vet vi når vi gjør det arv I en klasse kan vi bare arve direkte fra en overlegen klasse, det vil si at hvis vi ønsker å arve fra to forskjellige klasser, må vi lage som en kaskadeeffekt, der en første klasse arver fra overlegen klasse og deretter en annen klasse arver fra dette for å få funksjonaliteten og funksjonen til foreldreklassen.
I grensesnitt Dette problemet oppstår ikke, faktisk kan vi arve direkte fra flere grensesnitt, så hvis vi ønsker å skaffe metodene deres kan vi gjøre det uten problemer.

I tilfelle av implementering av et grensesnitt i en abstrakt klasse hvis vi har mer frihet, kan vi i dette tilfellet implementere flere grensesnitt uten noen form for begrensning i dette tilfellet, noe som gir oss muligheten til å lage et mer komplekst overordnet grensesnitt så å si. Det viktige her er å vite og ta i betraktning at et grensesnitt ikke er en klasse og derfor ikke kan arve fra en, det kan bare gjøre arv fra andre grensesnitt.

Med dette fullfører vi denne opplæringen, vi har sett forskjellene i restriksjoner og implementering i våre programmer av disse to strukturene i JavaSelv om begge tjener til å modellere og definere atferd, har hver enkelt sitt eget rom, så når vi kjenner dem bedre, kan vi bestemme hvilken vi skal bruke i programmene våre laget med dette språket.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave