Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Standardowaimplementacjacennikajakosingletonamożewyglądaćtak:
publicnalclassPriceListextendsHashMap<String,Double>{
publicstaticnalPriceListINSTANCE=newPriceList();
privatePriceList(){}
}
KonstruktorklasyPriceListjestprywatny,azatemniemożebyćwywołanyzżadnej
innejklasy.Dziękitemupowstanietylkojedenobiekttejklasywłaśniewtrakciestatycznego
inicjowaniapodczasjejładowaniaprzezJVM.
WklasiePriceListdziedziczymyHashMap,wktórejpodkluczamiznazwamitowa-
rówumieszczonebędąichceny.DziękitemukodklasyPriceListjestbardzozwięzły.
Noidodatkowo,klasatajestnalna,awięcniktjejniemożeodziedziczyćinp.podsuwać
wadliweceny.
Terazprzyinicjowaniusystemumożemyutworzyćcennik:
PriceListiINSTANCEiput("mleko",3i0);
PriceListiINSTANCEiput("krówki",7i0);
//iii
PriceListiINSTANCEiput("schab",15i0);
ikorzystaćzniegowinnychklasach(modułach)systemu,np.tak:
doublepayment(Stringtowar,doubleilosc){
returnPriceListiINSTANCEiget(towar)*ilosc;
}
//iii
doublecost=payment("schab",1i5);
Oczywiściewrealnym(produkcyjnym)programowaniutrzebabyzastosowaćbardziej
zaawansowanekonstrukcje,np.odpowiedniąklasędlareprezentacjitowarówzjakimiśich
identykatoramiimożliwościąuwzględnieniażnychjednostek(sztuki,kilogramyitp.).
1.9.Klasyopakowującetypyproste
Bardzoczęstopotrzebnejesttraktowanieliczbjakoobiektów.Możemynp.zechciećutwo-
rzyćtablicę,którazawierailiczby,inapisy.Wiemy,żemożnautworzyćtablicędowolnych
obiektów,np.:
Object[]arr=newObject[3];
Aleliczbysąreprezentowaneprzeztypyproste(iniesąobiektami).Kolekcjemogą
zawieraćtylkoreferencjedoobiektów,więcznowupowstajepytanie,jakwstawićdo
kolekcjiliczby.Dlategowłaśniewstandardowympakieciejava.langumieszczonospecjalne
klasy,opakowującetypyprosteiczyniąceznichobiekty.Sątoklasy:
36
1.Klasy