Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Hva er multippel arv i Java
    ? Utviklere designet Java fra grunnen av for å fungere som en komplett objektorientert programmeringsspråk. På grunn av dette , konsepter integrert i objektorientert programmering blitt ganske viktig i enkle Java- funksjonalitet. Spesielt begrepene klasse arv (og de ​​problemene som oppstår form klasse arv) er grunnleggende bekymringer til Java-programmerer . Ett av disse problemene , multippel arv, kan omgås med en forståelse av hvordan arv virker, og hvordan du bruker Java- grensesnitt . OOP og Arv

    objektorientert programmering bruker begrepet arv å utvide funksjonaliteten til gjenstander . Vurdere når en programmerer oppretter et objekt , hun kan senere finner ut at hun må lage en veldig lignende gjenstand med bare små forskjeller ( kanskje for å utvide funksjonaliteten til forrige objekt i en ny kontekst) . Det er der arv kommer inn Et objekt som en programmerer "stammer " fra en annen "base" objektet arver metodene og variablene i den klassen , og kan deretter legge til mer funksjonalitet til den ( som i følgende Java eksempel):

    public class Sphere {

    public int radius ;

    }

    public class Ball strekker Sphere {

    offentlige streng farge ; //Ball legger "farge" variabel, men også bruker " radius " variable

    }
    multippel arv

    på et tidspunkt , kan en programmerer bli fristet å utlede en enkelt klasse fra flere klasser . Dette er kjent som " multippel arv ", og mens tilsynelatende nyttig, kan forårsake problemer , slik som den notoriske "diamond problem . " Diamant problemet oppstår når to klasser arver fra samme klasse (som klasse B og C som stammer fra klasse A) , mens en annen klasse (D ) arver fra både B og C. Når en D objekt opprettes , vil systemet behandle det som en type base klassen (klasse " Ball" er en " Sphere ", for eksempel) . I diamant problem , kan systemet ikke fastslå avgjørende hvilken klasse D er ( er å skrive det ABD eller skriv ACD ? ) Som skaper problemer .
    Java og multippel arv

    på grunn av problemene med multippel arv , ikke Java ikke tillate multippel arv . Imidlertid kan faktisk skriver seg fra flere klasser grunnklasser oppnås på en sikker måte ved hjelp av " grenseflater ". Et grensesnitt er lik en klasse , bortsett fra at den ikke bare definerer strukturen for den klasse, men ikke selve koden . En base klasse som implementerer et grensesnitt betyr ikke nødvendigvis " arve " funksjonaliteten av grensesnittet : det lover kun å bruke sin struktur . Fordi en klasse implementere et grensesnitt ikke arver fra en annen klasse ( og dette er ikke en type base klassen ), så programmerer kan implementere flere grensesnitt ved hjelp av samme klasse
    . Eksempel: Arv og grensesnitt

    eksempelet nedenfor viser forskjellen mellom objekt arv og et grensesnitt . Viktigere, en klasse som arver fra en annen får tilgang til basen klassen fordi det i hovedsak blir en type som klasse (som i " Ball " og " Sphere " klasser ) . En klasse som implementerer et grensesnitt lover kun å implementere strukturen av grensesnittet : det er ikke en type som grensesnitt : en

    grensesnitt Basic {

    int doubleA (); //varsel : nei selve koden er definert i grensesnittet

    }

    public class B implementerer Basic {

    public int a;

    public int doubleA () //klasse B må definere " doubleA ( ) "-metoden for å implementere "Basic"

    {return a * 2 ;}

    }

    früher :

     Weiter:
      Relatert Artike
    ·Forholdet mellom JVM Minne og Heap størrelse 
    ·Hvordan få en JApplet Into JPanel 
    ·Kan Android Run Jar 
    ·Hvordan Iterate en liste i JSP 
    ·Slik pakker du ut den APK Fra Google SDK 
    ·Hvordan laste ned Eclipse for Android 
    ·Slik importerer Maps Into Java 
    ·Slik konverterer en Int til en JTextField i Java 
    ·Samtidige prosesser i en Servlet Object 
    ·Hvordan Spesifiser Hidden Input URL Med JSF 
      Anbefalte artikler
    ·Hvordan vet jeg om MySQL er 32 - eller 64 - Bit 
    ·Slik kjører Java-kode på en virtuell maskin 
    ·Hvordan Merk en kolonne i JavaScript 
    ·Slik konverterer datoer for å Militære Datoer i Acces…
    ·Hvordan lage en matrise av Strings 
    ·Hvordan skrive et program som leser en String av navn f…
    ·Slik konverterer en Long Variable Into Bytes i Visual B…
    ·Hvordan å behandle kredittkort i PHP 
    ·Hvordan lage nettstedet ditt med PHP 
    ·Hvordan lage Ribbons i CSS3 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/