I en värld av kodning datorprogram , är det en bra sak att vara en lat programmerare . Specifikt , det sparar tid att använda verktyg som andra programmerare skapats för ett specifikt ändamål snarare än att gå ut på nytt uppfinna hjulet . I programmeringsspråket Java , två av de former dessa verktyg programmerare gör för sig själva eller andra programmerare kan vidta är gränssnitt och abstrakta klasser . Klass modeller
Både gränssnitt och abstrakta klasser fungerar som en slags mall för en viss klass . Programmerare skapar dessa klasser för att specificera vissa generiska beteenden för klassen , och låta den enskilda programmerare som slutar med klassen för att specificera beteenden i klassen för programmerarens särskild applikation . Medan de båda fungerar som generella modeller , de har olika protokoll för deklarationer och ställer olika krav på slutet programmerare .
Klassdeklarationer och implementeringar
Programmerare ange om en klass är ett gränssnitt eller en abstrakt klass med olika sökord i klassen deklarationen . Detta kommer att vara antingen " interface " följt av namnet på gränssnittet , eller " abstrakt klass " följt av klassens namn . Programmerare använder antingen abstrakt klass eller gränssnitt använder inte klassen direkt , utan skapa en underklass av den speciella klassen typ de kommer att använda . För att använda ett gränssnitt , skulle en programmerare lägga " implementerar interface " där " interface " är namnet på den speciella gränssnittet . För att använda en abstrakt klass , skulle en programmerare lägga " extends abstractclass " där " abstractclass " är namnet på den abstrakta klassen .
Metodimplementeringarna
Underklasser kan åsidosätta metoder i sin överordnade klass ( i detta fall gränssnittet eller abstrakt klass ) . När en programmerare deklarerar en metod med samma namn som en metod i den överordnade klassen , kommer programmet att använda koden för den metod som användaren ger i stället för koden i den överordnade metoden . I abstrakta klasser , kommer några metoder deklareras som " abstrakt ". Dessa metoder behandlar detaljerna i hur en klass kommer att användas , och slutet programmerare har att över - rida de metoder som deklareras som abstrakt . I gränssnitt , har slutanvändaren till över - rida varje metod i gränssnittet.
Situationsanpassat Användning
Dessa funktionella skillnader lånar sig till specifika användningsområden. Använda ett gränssnitt säkerställer att en viss klass kommer att uppfylla alla krav för en viss datastruktur . Till exempel kan en programmerare som gjorde sitt eget bibliotek med funktioner för nätverksanslutning gör programmerare användning och gränssnitt klass han designade för data som slutet programmerare vill skicka med dessa funktioner . Gränssnittet kommer att säkerställa att varje utgående sändning har allt biblioteken behöver för att kunna skicka dessa data . Alternativt kan samma programmerare gör en abstrakt klass som innehöll metoder att detaljerade och muttrar för att skicka data , men krävs slutet programmerare att åsidosätta vissa metoder behandlar där data skulle skickas eller vad som skulle sändas .
Addera ditt