|  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

    Tre Främsta fördelarna med ENUM

    Flest programmerare kommer att tilldela numeriska värden för varje objekt i en lista , t.ex. veckodagar , för att göra kodning snabbare och för att undvika skrivfel . Vissa programmeringsspråk ger en enumerator typ , eller enum , som tillåter dig att definiera en fast uppsättning konstanter i en speciell typ . Använda en enum -konstruktionen har flera fördelar , såsom förbättrad typ matchning , möjlighet att definiera egna metoder , tillgång till automatiska medlemmar tillhandahålls av kompilatorn , och totalt sett ökad läsbarhet och underhåll av programmet . Fäster skräddarsydda metoder

    När du använder enum typ , definierar du en ny klass . Precis som med alla andra klass , kan du inkludera egna metoder och fält i klassen . Detta gör att du kan ge inkapslade funktionalitet relaterad till enum typ . Till exempel definierar följande klass av enum typ med den genomsnittliga latitud och longitud för amerikanska stater . Den innehåller en anpassad metod , distans , som beräknar avståndet mellan en latitud och longitud skickas som parametrar till metoden

    import statisk java.lang.Math *; . . Offentliga enum State { AK ( 61,3850 , -152,2683 ) , AL ( 32,7990 , -86,8073 ) , ... WV ( 38,4680 , -80,9696 ) , WY ( 42,7475 , -107,2085 ) ;

    privat final dubbel bredd; privat final dubbel longitud; staten ( dubbel latitud , dubbel longitud ) { this.latitude = latitud; this.longitude = longitud; } private double latitud ( ) {return latitud ;} private double longitud ( ) {return longitud; } private static final double R = 6371 ;
    < p > dubbla avståndet ( dubbel lat , dubbel LNG ) { //sfäriska lag cosinesreturn cos ( sin ( latitud ) * sin ( lat ) + cos ( latitud ) * cos ( lat ) + cos ( LNG - longitud ) ) * R ; } } Addera Enhanced typ matchande

    Eftersom enum typ är en klass , stärker den typ matchning att inkludera matchning mot uppsättning konstanter som definieras i enum . Detta förhindrar fel genom att säkerställa att parametrar till funktioner alltid kommer att innehålla ett värde i enum typ klassen . Till exempel, om en funktion kräver en säsong som en parameter , den aktuella parametern till funktionen vid körning kommer att matchas mot de fyra tillåtna värden definieras av enum :

    offentliga enum Season { VÅR , SOMMAR , VINTER , HÖST }; public function väder ( enum Season ) { ... };
    förbättrad dokumentation

    enum konstruktionen gör koden lättare att förstå och underhålla . Genom att skapa en enum konstruktion av medlemmar med meningsfulla namn , du dokumentet kod när du skapar den . Till exempel , förklarar en enum heter " Option " gör det lätt att förstå de fall i " switch " uttalande :

    enum Option { spara, kassera CANCEL }; Option pick ; ... switch ( plocka ) { case SPARA : break ; case Återgå: break ; case CANCEL : break ; } Addera automatisk speciella metoder

    Java , kompilatorn automatiskt infogar speciella metoder i klassen för att göra det enkelt att utföra vanliga operationer . Till exempel , den kompilatorn sätter automatiskt en metod som kallas "värden" som returnerar en array av ENUM konstanta värden i den ordning de deklarerades . Detta gör iteration över enum värderar väldigt enkelt , som i följande exempel :

    för ( månad m : Month.values ​​( ) ) { System.out.printf ( " % s har % d dagar" , m , m.numberOfDays ( ) ) ; } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du använder Statiska block i Java
    ·Hur kan jag utveckla 508 kompatibel programvara för Ja…
    ·Typer av åtgärder Klasser i Struts
    ·Hur man skriver Java -program för en spelautomat
    ·Hur infoga ett objekt i en ComboBox i Java
    ·Hur man beräknar summan av heltal i Java
    ·Hur man gör ett TextField Default till noll i Java
    ·Hur ta reda på din javac Version
    ·Hur Split String Längd i Java
    ·Hur man kombinerar layouter i Android
    Utvalda artiklarna
    ·Vad är en villkorad Statement
    ·Hur man använder en SWF i VB MDI Form
    ·Hur skriver jag Updategrams XML Script i VB6
    ·Hur man kan stoppa ett förfarande i VB6.0
    ·Definition av Marquee Labels
    ·Hur man lär ActiveX Programmering
    ·Hur man gör en följd av asterisker i C + +
    ·Tillträde : VBA Exportera Query
    ·Hur att diagnostisera problem med Javascript
    ·Hur man använder referenser för en VB6
    Copyright © Dator Kunskap http://www.dator.xyz