Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
JESIENzmienimyna2,3,4),toinnefragmentykodu,jużkorzystająceztych
stałych,niebędąprawidłowodziałać.
Wprowadzanieiwyprowadzanieinformacjiowartościachjestżmudne(konwersja
Stringint),prostewyświetleniewartościjestcałkowiciefinieinformacyjne”:
println(ZIMA)danamnawyjściu0(acoto?).
Wyliczeniedeniowanezapomocątypuintniemawłaściwościprogramowania
obiektowego(niemaodrębnegotypu,którybyzawężałzbiórdopuszczalnychwar-
tościimożliwychoperacjinanich).
WJavieusuniętotewady,pozostawiającjednocześniezaletęefektywnościdziałania(tak
jaknaliczbachcałkowitych),wprowadzającspecjalnyrodzajtypówreferencyjnychozna-
czanychsłowemkluczowymenum.
Denicjatypuwyliczeniowegopoleganaumieszczeniuposłowieenumwnawiasach
klamrowychelementówwyliczeniarozdzielonychprzecinkami:
[public]enumNazwaTypu{
elt1,elt2,000,eltN
}
gdzie:
eltelementywyliczenia0
Naprzykład:
enumPora{ZIMA,WIOSNA,LATO,JESIEŃ}
TutajPorajestnazwątypuwyliczeniowego,aZIMA,WIOSNA,LATO,JESIEŃozna-
czająstałetegotypu(zbiórnazwanychstałych).
Zmiennazadeklarowanajako:
Porap;
będziemogłaprzyjmowaćwartości:PoraiZIMA,PoraiWIOSNA,PoraiLATO,Porai
JESIEŃ(oraznull,ponieważjesttypureferencyjnego).Zauważmy,żewartościtetostałe
statyczneisąonetypureferencyjnegoPora.
Wobecdanychtypówwyliczeniowychmożemystosowaćżnemetody,m.in.:
ZastosowaniemetodytoString()wobeczmiennejtypuwyliczeniowegozwróci
jejwartośćwpostacinapisu(wnaszymprzykładowymprzypadkumożetobyć"ZIMA");
umożliwiatoeleganckieiłatwepokazywaniewartościtypuwyliczeniowego,np.
p=PoraiZIMA;Systemioutiprintln(p);wyświetlinakonsolinapisZIMA.
18
1.Klasy