Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Varför abstrakta klasser i Java

    ? Javaklasser definiera objekt att utföra programuppgifter . Inom Java-projekt , programmerare definiera dessa objekt genom att skapa klassdeklarationer . En klassdeklarationen beskriver egenskaperna några objekt instanser av klassen kommer att ha , liksom metoder kommer det att genomföra . I de flesta fall kan Java-program skapa objekt av alla klasser anges med klassdeklarationer . Men om en klass är abstrakt , kan det inte instansieras . Genomförande

    Normalt när ett program innehåller en klass deklaration , kan annan kod skapa objekt instanser av klassen beskrivs i det . När detta händer kommer det resulterande objektet hålla data och genomföra de metoder som anges i klassen deklarationen . När ett program deklarerar en klass som abstrakt , kan detta inte ske , som objekt av klassen inte kan skapas . Följande exempelkod visar förklara en klass som abstrakt :

    offentliga abstrakt klass GreatHelper

    skillnad med icke - abstrakta klasser , kan projektet i vilket denna kod visas inte skapa " GreatHelper " objektinstanser < . br >
    Arv

    Även programmen inte kan instansiera abstrakta klasser , kan de förlänga dem . Java arv tillåter programmerare att förlänga befintliga klassdeklarationer med följande syntax :

    public class specifichelper utökar GreatHelper

    När klassen utökar en annan klass , ärver det metoderna och egenskaperna för den överordnade klassen . Utöka klasser kan också erbjuda ytterligare funktionalitet utöver de nedärvda superklassens variabler och metoder . Arv är alltså ett sätt att erbjuda specialiserad funktionalitet , med underklasser specialiserade inom ett ansvarsområde omfattade mer generellt av den överordnade klassen . Med en abstrakt klass , gäller denna princip om arv också , så underklasser av abstrakta klasser kan instansieras , även om deras föräldrar inte kan.
    Syfte

    Abstrakta klasser tillåter programmerare att skapa definitioner för uppsättningar av objekt som kommer att ha vissa gemensamma egenskaper , men också en del skillnader . Abstrakta klasser oftast endast delvis genomföra sina skyldigheter , medan deras subklasser kan ge mer detaljerade genomförandet anpassad till särskilda omständigheter . Abstrakta klasser kan innehålla både abstrakta och icke - abstrakta metoder . Abstrakta metoder kan bara visas inom abstrakta klasser , med kravet att underklasser kommer att genomföra dessa metoder , om de inte också är abstrakta .
    Alternativ

    huvudalternativet att skapa abstrakta klasser i Java skapar gränssnitt . När ett program omfattar ett gränssnitt kan klassdeklarationer genomföra detta gränssnitt , istället för att omfatta som i fallet av en abstrakt klass . Ett gränssnitt fungerar som ett kontrakt , som definierar de metoder som genomför klasser måste ge , men utan att ge några detaljer om genomförandet själv . Ett gränssnitt kan lista metoder som endast använder sina konturer , med genomförandet klasser ger metoden detaljerna . Följande exempelkod visar en klassdeklarationen genomföra ett gränssnitt :

    public class SomeHelper utökar HelpfulOrganizer

    Inom gränssnittet deklarationen , kan metoden konturer visas enligt följande :

    public String getWords ( ) ;

    skillnad abstrakta klasser , kan gränssnitt ger inga implementeringsdetaljer Addera
    .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man använder Lägg upp Java
    ·Så här ställer du markören till en viss JTextField
    ·Hur Log fel & Fånga dem genom Undantag i Java
    ·Höjden på ett binärt träd i Java
    ·Hur Jämför tecken i Java-programmering
    ·Hur man driver ett Java- programmet Script i Ubuntu
    ·Hur man använder Tesseract OCR i Java
    ·Hur konvertera XML till JSX
    ·Hur man lägger till datum i Java
    ·Hur man upptäcker internationell karaktär Unicode i J…
    Utvalda artiklarna
    ·Vad är ETL-verktyg
    ·Tutorial på jQuery och Google Maps
    ·Skillnaden mellan funktioner och rutiner i Visual Basic…
    ·HTML Mailto Tutorial
    ·Betydelsen av beslutsstrukturer i Programmering
    ·Hur Exportera Access-data till SQL
    ·Hur till Redigera hyperlänkar i HTML
    ·Hur man utför MSA på provbockar
    ·Syntax för en loggfunktion i VBA
    ·Så här visar en vertikal Histogram i Java
    Copyright © Dator Kunskap http://www.dator.xyz