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

    Vad är multipelt arv i Java

    ? Utvecklare utformade Java från grunden för att fungera som ett komplett objektorienterat programmeringsspråk . På grund av detta begrepp integrerade till objektorienterad programmering blivit ganska viktigt i grundläggande Java -funktionalitet . Särskilt begreppen klass arv ( och de problem som uppstår arv formulär klass ) är grundläggande frågor till Java-programmerare . Ett av dessa problem , multipelt arv , kan kringgås med en förståelse för hur arv fungerar , och hur man använder Java -gränssnitt . OOP och Arv

    Objektorienterad programmering använder begreppet arv att utöka funktionerna i objekten . Tänk när en programmerare skapar ett objekt , hon kanske senare upptäcker att hon måste skapa en mycket liknande objekt med endast små skillnader ( kanske för att utöka funktionaliteten i den föregående objekt i en ny kontext ) . Det är där arv kommer in ett föremål som en programmerare " härstammar " från en annan " base " ärver metoder och variabler för den klassen , och kan sedan lägga till fler funktioner till den ( som i följande Java exemplet ) :

    public class Sphere {

    public int radie ,

    }

    public class Ball utökar Sphere {

    public string färg , //boll tillägger den " färg " variabel , utan också använder " radie " variabel

    }
    multipelt arv


    Vid något tillfälle , kanske en programmerare blir frestad att härleda en enda klass från flera klasser. Detta är känt som " multipelt arv " och samtidigt till synes användbara , kan orsaka problem, såsom den ökända " diamond problem . " Diamanten Problemet uppstår när två klasser ärver från samma klass ( t.ex. klass B och C som härrör från klass A ) , medan en annan klass ( D ) ärver från både B och C. När en D -objekt skapas , behandlar systemet det som en typ av basklassen ( class " Ball " är en " sfär ", till exempel ) . I diamant problemet , kan systemet avgöra inte avgörande vilken klass D är ( det är typ ABD eller typ ACD ? ) Som orsakar problem .
    Java och multipelt arv

    på grund av problemen med multipelt arv , tillåter Java inte multipelt arv . Emellertid kan faktiskt härrör klasser från flera basklasser åstadkommas på ett säkert sätt genom användning av " gränssnitt . " Ett gränssnitt liknar en klass , förutom att den bara gör definierar strukturen för klassen men inte den faktiska koden . En basklass som implementerar ett gränssnitt inte nödvändigtvis " ärver " funktionaliteten av gränssnittet : det lovar bara att använda sin struktur . Eftersom en klass som implementerar ett gränssnitt inte ärver från en annan klass ( och detta är inte en typ av basklass ) , då programmeraren kan implementera flera gränssnitt med samma klass
    Exempel : . Arv och gränssnitt

    följande exempel visar skillnaden mellan objektet arv och ett gränssnitt . Viktigt är en klass som ärver från en annan får tillgång till basen klassen eftersom det i huvudsak blir en typ av den klassen (som i "klumpa ihop " och " Sphere " klasser ) . En klass som implementerar ett gränssnitt lovar endast att genomföra struktur gränssnitt : Det är inte en typ av det gränssnittet :

    gränssnitt Basic {

    int DoubleA ( ) , //meddelande : nej faktiska koden definieras i gränssnittet

    }

    public class B implementerar Basic {

    public int a;

    public int DoubleA ( ) //klass B måste definiera " DoubleA ( ) " metoden för att genomföra " Basic "

    {return a * 2 ;}

    }

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur: Anteckningar från Java-kod
    ·Hur man använder en scanner för flera ord i Java
    ·Hur man gör en aritmetisk uttalande i Java
    ·Så här visar dynamisk information på webbsidor med J…
    ·Handledning om hur man skriver Java Applets
    ·Hur hitta Utländska nycklar med inre kopplingar i Java…
    ·Heap Vs . Stack i Java
    ·Hur man kompilerar JNI i Ubuntu
    ·Hur man använder strängar för att räkna antalet fö…
    ·Hur konvertera HTML till oformaterad text i Java Applet…
    Utvalda artiklarna
    ·Hur att rotera bilder med kakel i Java
    ·Hur man kör IDL i NetBeans
    ·Hur man deklarerar en array i Perl funktioner
    ·Hur att ersätta text i en PHP -fil
    ·Fördelar med Fortran
    ·Hur man skickar data i MySQL med PHP
    ·Hur man använder strängar som inmatning från tangent…
    ·Hur man löser URL variabel i PHP
    ·Python Special Metoder
    ·Hur man skapar ett program som fungerar som en enkel Bo…
    Copyright © Dator Kunskap http://www.dator.xyz