Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
TerazfragmentyilustrującewykorzystanieklasVehicleiCarbędąwyświetlaćbardziej
zrozumiałą(językowojednolitą)informację,np.:
SamochódnrrejWA1090-ZEPSUTY
SamochódnrrejWB2010-ZEPSUTY
SamochódnrrejWA1090-JEDZIE
SamochódnrrejWB2010-JEDZIE
2.;.Przedefiniowanieawyjątki
Jakjużwspomniano,przedefiniowaniemetodyniemożeposzerzaćzakresuwyjątków
kontrolowanychwymienionychwklauzulithrows(przypomnijmy,żewyjątkikontrolowane
tote,którychklasypochodząodklasyException,alenieodRuntimeException).
Oznaczato,że:
Jeżelimetodazklasybazowejniemaklauzulithrows,tometodaprzedefiniowująca
jąwklasiepochodnejniemożewymienićwswojejklauzulithrowsżadnychwy-
jątkówkontrolowanych.
Jeżelimetodazklasybazowejwymieniawswojejklauzulithrowsjakieśwyjątki
kontrolowane,tometodaprzedefiniowującająwklasiepochodnejniemożewymie-
nićżadnejnadklasytychwyjątkówaniżadnychdodatkowychinnychklaswyjątków
kontrolowanych,możenatomiastwymienićdowolnewyjątkipochodzącezpodklas
wyjątkówzgłaszanychprzezmetodęzklasybazowej.
Niezależnieodmetodyzklasybazowejmetodaprzedefiniowanawklasiepochodnej
możeniezgłaszaćżadnychwyjątkówiniemiećklauzulithrows.
Metodaprzedefiniowanawklasiepochodnejzawszemożezgłaszaćwyjątkiniekontro-
lowaneiewentualniewymieniaćjewswojejklauzulithrows(coniejestobowiąz-
kowe).
Ilustrujetoprzykładowykod,wktórym:
wyjątekIOExceptionpochodziodException,
wyjątekFileNotFoundExceptionpochodziodIOException,
wyjątekNumberFormatExceptionjestpochodziodRuntimeException.
classA{
voidmet1(){}
voidmet2()throwsFileNotFoundException{}
voidmet3()throwsIOException{}
voidmet4()throwsException{}
voidmet5(){}
}
58
2.Ponownewykorzystanieklas