Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Tri hlavné výhody ENUM

Väčšina programátorov bude priradiť číselné hodnoty každej položky v zozname , ako sú dni v týždni , aby sa kódovanie rýchlejšie a aby sa zabránilo typografické chyby . Niektoré programovacie jazyky poskytujú typ čítača zoznamu , alebo zoznam , ktorý umožňuje definovať pevnú množinu konštánt vo zvláštnom druhu . Použitie enum konštrukt má niekoľko výhod , ako je napríklad vylepšený typ párovanie , možnosť definovať vlastné metódy , prístup k automatickej členov uvedeného kompilátorom , a celkové zvýšenie čitateľnosti a udržiavanie programu . Pripojte Vlastné metódy

Pri použití vymenovaného typu , môžete definovať novú triedu . Rovnako ako pri každej inej triedy , môžete vložiť vlastné metódy a polia v triede . To umožňuje poskytovať zapuzdrené funkcie súvisiace s vymenovaného typu . Napríklad , nasledujúce definuje triedu vymenovaného typu s priemernou zemepisnej šírky a dĺžky na amerických štátoch . Obsahuje metódu vlastné , vzdialenosť , ktorá počíta vzdialenosť medzi zemepisnej šírky a dĺžky odovzdané ako parametre metódy

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

súkromné ​​final double šírky a súkromné ​​final double dĺžky ; stáť ( dvojitá šírka , double dĺžka ) { this.latitude = šírka ; this.longitude = dĺžka ; } private double šírky ( ) { return šírky ; } private double dĺžka ( ) { return dĺžky ; } private static final double R = 6371 ;

double vzdialenosť ( double lat , double LNG ) { //sférický zákon cosinesreturn cos ( sin ( zemepisná šírka ) * sin ( lat ) + cos ( šírka ) * cos ( lAT ) + cos ( LNG - dĺžka ) ) * R ; } }
Enhanced Typ Matching

Pretože typ enum je trieda , to presadzuje typ prispôsobenie zahrnúť zodpovedajúce proti súbor konštánt definovaných vo výpočte . Tým sa zabráni chybám tým , že parametre do funkcie bude vždy obsahovať hodnotu typu enum triedy . Napríklad , ak funkcia vyžaduje sezónu ako parameter , skutočný parameter odovzdaný funkciu pri behu bude uzavreté proti štyrom prípustných hodnôt stanovených podľa zoznamu :

public enum Season { JAR , LETO , ZIMA , FALL } ; public function počasie ( enum Season ) { ... } ;
Lepšie Dokumentácia

enum konštrukcia je kód zrozumiteľnejšie a udržiavať . Vytvorením enum konštrukt členov s zmysluplné názvy , dokumentovať kód , ako ho vytvoriť . Napríklad , deklarovať výpočtový typ s názvom " Option " je ľahké pochopiť prípady v " switch " vyhlásenie :

enum Možnosť { uložiť , zrušiť , CANCEL } ; Možnosť vyzdvihnutia ; ... spínač ( vyzdvihnutie ) { case Ušetríte : break ; case discard : break ; case CANCEL : break ; }
Automatické špeciálne metódy

Java , kompilátor automaticky vloží špeciálne metódy do triedy , aby bolo ľahko vykonávať štandardné operácie . Napríklad , kompilátor automaticky vloží metódu nazvanú " hodnoty " , ktorý vracia maticu enum stálych hodnôt v poradí , v akom boli vyhlásené . To je iterácia nad hodnotami vymenovaných veľmi jednoduché , ako v nasledujúcom príklade :

( Mesiac m : Month.values ​​( ) ) { System.out.printf ( " % s má % d dňami " , m , m.numberOfDays ( ) ) ; }

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené