I en verden af kodning edb-applikationer , er det en god ting at være en doven programmør. Konkret det sparer tid at bruge værktøjer , som andre programmører skabt til et bestemt formål snarere end at gå ud for at genopfinde hjulet . I Java programmeringssprog, er to af de former disse værktøjer programmører gør for sig selv eller andre programmører kan tage grænseflader og abstrakte klasser. Klasse Models
Både grænseflader og abstrakte klasser tjene som en slags skabelon for en bestemt klasse. Programmører skabe disse klasser med henblik på at præcisere visse generiske adfærd til klassen, og at den enkelte programmør, der ender ved hjælp af klassen til at angive den adfærd i klassen for programmørens særlige anvendelse . Mens de begge fungerer som generelle modeller , de har forskellige protokoller for erklæringer og stiller forskellige krav til enden programmør.
Class Erklæringer og implementeringer
Programmører angive, hvis en klasse er en grænseflade eller en abstrakt klasse med forskellige søgeord i klassen erklæring. Dette vil være enten "interface " efterfulgt af navnet på grænsefladen eller " abstrakt klasse " efterfulgt af klassens navn. Programmører bruger enten den abstrakte klasse eller grænseflade ikke bruger klassen direkte, men skabe en undergruppe af den særlige klasse type de vil bruge . For at bruge en grænseflade , vil en programmør tilføje " implementerer interface" , hvor "interface " er navnet på den særlige grænseflade. Hvis du vil bruge en abstrakt klasse , ville en programmør tilføje "NC abstractclass ", hvor " abstractclass " er navnet på den abstrakte klasse .
Metode implementeringer
Underklasser kan tilsidesætte metoder i deres forældres klasse (i dette tilfælde grænsefladen eller abstrakt klasse) . Når en programmør erklærer en metode med samme navn som en metode i moderselskabets klasse, så vil programmet bruge koden til den metode, som brugeren giver i stedet for koden i moderselskabets metoden. I abstrakte klasser , vil nogle metoder blive erklæret som " abstrakt ". Disse metoder deal med detaljerne i , hvordan en klasse vil blive anvendt , og enden programmør har at over- ride metoder , der er erklæret som abstrakt . I interfaces , har slutbrugeren at over- ride hver metode i interfacet.
Situationsbestemt Brug
Disse funktionelle forskelle egner sig til specifikke anvendelser . Ved hjælp af en grænseflade sikrer, at en bestemt klasse vil opfylde alle krav til en bestemt datastruktur. For eksempel kan en programmør, der gjorde hans eget bibliotek netværksforbindelse funktioner gør programmører brug og grænseflade klasse han tegnede for data, enden programmør ønsker at sende bruge disse funktioner. Interfacet vil sikre, at alle udgående transmission vil have alt bibliotekerne behøver for at kunne sende disse data. Alternativt kunne det samme programmør gøre en abstrakt klasse , som indeholdt metoder, detaljerede møtrikker og bolte af at sende data, men der kræves enden programmør til over- rider visse metoder , der beskæftiger sig med , hvor oplysningerne ville blive sendt , eller hvad der ville blive sendt. < br >