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.;.Przedeniowanieawyjątki
Jakjużwspomniano,przedeniowaniemetodyniemożeposzerzaćzakresuwyjątków
kontrolowanychwymienionychwklauzulithrows(przypomnijmy,żewyjątkikontrolowane
tote,którychklasypochodząodklasyException,alenieodRuntimeException).
Oznaczato,że:
Jeżelimetodazklasybazowejniemaklauzulithrows,tometodaprzedeniowująca
jąwklasiepochodnejniemożewymienićwswojejklauzulithrowsżadnychwy-
jątkówkontrolowanych.
Jeżelimetodazklasybazowejwymieniawswojejklauzulithrowsjakieśwyjątki
kontrolowane,tometodaprzedeniowującająwklasiepochodnejniemożewymie-
nićżadnejnadklasytychwyjątkówaniżadnychdodatkowychinnychklaswyjątków
kontrolowanych,możenatomiastwymienićdowolnewyjątkipochodzącezpodklas
wyjątkówzgłaszanychprzezmetodęzklasybazowej.
Niezależnieodmetodyzklasybazowejmetodaprzedeniowanawklasiepochodnej
możeniezgłaszaćżadnychwyjątkówiniemiećklauzulithrows.
Metodaprzedeniowanawklasiepochodnejzawszemoż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