Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
powykonaniunewB()uzyskamynastępującąkolejnośćinicjowania:
StatycznyblokinicjacyjnyklasyA
InicjacjapolastatycznegoklasyA
StatycznyblokinicjacyjnyklasyB
InicjacjapolastatycznegoklasyB
inicjacjapolaniestatycznegoklasyA
NiestatycznyblokinicjacyjnyklasyA
KonstruktorklasyA
inicjacjapolaniestatycznegoklasyB
NiestatycznyblokinicjacyjnyklasyB
KonstruktorklasyB
Przydziedziczeniunależyrównieżpamiętaćonastępującychkwestiach:
Wywołaniekonstruktoranadklasyzkonstruktoraklasypochodnejodbywasięza
pomocąsuper(arg–konstruktora);,comusibyćpierwsząinstrukcjąwciele
konstruktorapodklasy.
Jeśliniematakiegowywołania,todomyślniewołanyjestkonstruktorbezparametrowy
nadklasy.
Konstruktorbezparametrowyjestautomatyczniedodawanydoklasy,jeśliniezdenio-
wanowniejżadnychkonstruktorów.
Jeślijednakzdeniowanokonstruktory
,tokonstruktorbezparametrowyniejestdodawany
.
Wtakiejsytuacji:
classA{
A(intx){iii}
}
classBextendsA{
B(){//niemasuper(iii)}
}
powstaniewięcbłądwkompilacji,bodomyślniemabyćwywoływanykonstruktorbezpa-
rametrowyklasyA,ajestonwtejklasieniezdeniowany.
1.;.Singletony
Wzorzecsingletonzapewnia,żeklasabędziemiałatylkojednąinstancję(możnautwo-
rzyćtylkojedenobiekttejklasy),ajednocześnieudostępniaglobalny,jednolitysposób
uzyskiwaniaiodwoływaniasiędotegoobiektuzżnychfragmentówkodu(innychklas).
Przykładowosingletonemmożebyćcennikużywanyprzezżneklasyjakiegośsystemu
rozliczeniowego(faktyczniewtakiejsytuacjicennikpowinienbyćjednolity,awięczawsze
przyodwołaniachdoniegopowinniśmyuzyskiwaćjedenitensamobiekt).
1.;.Singletony
35