Indholdsfortegnelse
Selvom begge strukturer kan virke ens, da de tvinger de klasser, der bruger dem til at oprette de metoder, de har, og bruge dem, så de kan være gyldige, har de vigtige forskelle mellem dem, hvilket kan give os mere lys over, hvordan vi kan bruge dem .Forskellene, selv om de er subtile, giver os mulighed for at bruge begge strukturer, selv i kombination, på denne måde kan vi opnå større orden i vores projekt og skabe applikationer, der giver os mulighed for bedre at gengive objekterne i den virkelige verden i et digitalt format.
BegrænsningerDen største forskel ser vi imellem abstrakte klasser og grænseflader er, at den første er en klasse og den anden ikke, selvom den grænseflade har en lignende struktur står over for begrænsninger, der ikke findes i a abstrakt klasse.
VariablerDet abstrakt klasse har ingen begrænsninger i brugen af variabler, men grænseflade hvis det har, skal alle variablerne, vi skal bruge, faktisk være offentlig, statisk eller endelig.
I dette tilfælde Bygger af abstrakt klasse skal påberåbes gennem underklasser, hvilket udelukker muligheden for at instantere det via operatøren ny.
I tilfælde af grænseflade, dette kan ikke have konstruktører, da det ikke er en klasse, hvilket gør, at vi også kasserer oprettelsen af instanser med operatøren ny.
MetoderI en grænseflade metoderne skal være offentligt abstrakt På den anden side kan vi i den abstrakte klasse placere enhver form for metode uden problemer, hvilket gør en forskel mere for os.
Et andet punkt, vi skal tage højde for, er måden at gøre arv og implementering, som vi kan opnå med disse to strukturer i Java, det ved vi, når vi gør det arv I en klasse kan vi kun arve direkte fra en overlegen klasse, det vil sige, hvis vi vil arve fra to forskellige klasser, skal vi skabe som en kaskadeeffekt, hvor en første klasse arver fra den overlegne klasse og derefter en anden klasse arver fra dette for at opnå dets funktionalitet og dets forældreklasse.
I grænseflader Dette problem opstår ikke, faktisk kan vi arve direkte fra flere grænseflader, så hvis vi ønsker at få deres metoder, kan vi gøre det uden problemer.