interfaces, inheritance and abstract classes in java

Upload: technical-lobby

Post on 29-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Interfaces, Inheritance and Abstract Classes in Java

    1/5

    Xegfoig`c Cklly # \ iru|# Gff`xxiwa`|f# Iohi` & fxxr>++qqq/xegfoig`ccklly/gkd+ )

    Gf`rxe|1$ Ioxe|m`gew# Iofe|ix`oge `oh @lwx|`gx gc`wwew

    Xfiw hkgudeox iw wkce r|kr|iex`|y km Xegfoig`c Cklly `oh `oy jioh km diwuwe km xfiw hkgudeox iw r|kfilixeh/ Xfiw hkgudeox wfkuch okx le gkrieh# dkhimieh `oh |e$g|e`xeh/ @oy wugf diwuwe qicc le eoxe|x`ioeh ly Iohi`o Gkry|iafx C`q/

    0

    Xfe|e `|e ` oudle| km wixu`xikow io wkmxq`|e eoaioee|ioa qfeo ix iw idrk|x`ox mk| hiwr`|`xe a|kurw km r|ka|`dde|w xk `a|ee xk ` ,gkox|`gx, xf`x wreccw kux fkq xfei| wkmxq`|e ioxe|`gxw/ E`gf a|kur wfkuch le `lcexk q|ixe xfei| gkhe qixfkux `oy jokqcehae km fkq xfe kxfe| a|kur!w gkhe iw q|ixxeo/ Aeoe|`ccy wre`jioa#

    ioxe|m`gew `|e wugf gkox|`gxw/

    1/0 Ioxe|m`gew io N`}`Io xfe N`}` r|ka|`ddioa c`oau`ae# `o ioxe|m`ge iw ` |eme|eoge xyre# widic`| xk ` gc`ww xf`x g`o gkox`io kocy gkowx`oxw# dexfkh wiao`xu|ew# `oh oewxeh xyrew/ Xfe|e `|e ok dexfkh lkhiew / Ioxe|m`gew g`ookx leiowx`oxi`xeh xfey g`o kocy le idrcedeoxeh ly gc`wwew k| evxeoheh ly kxfe| ioxe|m`gew / Evxeowiko iwhiwguwweh c`xe| io xfiw cewwko/

    Hemioioa `o ioxe|m`ge iw widic`| xk g|e`xioa ` oeq gc`ww>rulcig ioxe|m`ge Kre|`xeG`| z

    ++ gkowx`ox hegc`|`xikow# im `oy

    ++ dexfkh wiao`xu|ewiox xu|o&Hi|egxiko hi|egxiko# ++ @o eoud qixf }`cuew \IAFX# CEMX

    hkulce |`hiuw# hkulce wx`|xWreeh# hkulce eohWreeh):iox gf`oaeC`oew&Hi|egxiko hi|egxiko# hkulce wx`|xWreeh# hkulce eohWreeh):iox wiao`cXu|o&Hi|egxiko hi|egxiko# lkkce`o wiao`cKo):iox aex\`h`|M|kox&hkulce hiwx`ogeXkG`|# hkulce wreehKmG`|):iox aex\`h`|\e`|&hkulce hiwx`ogeXkG`|# hkulce wreehKmG`|):

    //////++ dk|e dexfkh wiao`xu|ew

    t

    Okxe xf`x xfe dexfkh wiao`xu|ew f`}e ok l|`gew `oh `|e xe|dio`xeh qixf ` wedigkcko/

    1/< Xk uwe `o ioxe|m`ge# yku q|ixe ` gc`ww xf`x idrcedeoxw xfe ioxe|m`ge/ Qfeo `o iowx`oxi`lce gc`wwidrcedeoxw `o ioxe|m`ge# ix r|k}ihew ` dexfkh lkhy mk| e`gf km xfe dexfkhw hegc`|eh io xfeioxe|m`ge / Mk| ev`drce#

    rulcig gc`ww Kre|`xeLDQ1=2i idrcedeoxw Kre|`xeG`| z

    ++ xfe Kre|`xeG`| dexfkh wiao`xu|ew# qixf idrcedeox`xiko $$++ mk| ev`drce>iox wiao`cXu|o&Hi|egxiko hi|egxiko# lkkce`o wiao`cKo) z

    ++gkhe xk xu|o LDQ!w CEMX xu|o iohig`xk| ciafxw ko++gkhe xk xu|o LDQ!w CEMX xu|o iohig`xk| ciafxw kmm++gkhe xk xu|o LDQ!w \IAFX xu|o iohig`xk| ciafxw ko++gkhe xk xu|o LDQ!w \IAFX xu|o iohig`xk| ciafxw kmm

    t

    ++ kxfe| dedle|w# `w oeeheh $$ mk| ev`drce# fecre| gc`wwew++ okx }iwilce xk gcieoxw km xfe ioxe|m`ge

    t

    1/7 Ioxe|m`gew oh Ducxirce Iofe|ix`oge

  • 8/9/2019 Interfaces, Inheritance and Abstract Classes in Java

    2/5

    Xegfoig`c Cklly # \ iru|# Gff`xxiwa`|f# Iohi` & fxxr>++qqq/xegfoig`ccklly/gkd+ )

    Gf`rxe|1$ Ioxe|m`gew# Iofe|ix`oge `oh @lwx|`gx gc`wwew

    Xfiw hkgudeox iw wkce r|kr|iex`|y km Xegfoig`c Cklly `oh `oy jioh km diwuwe km xfiw hkgudeox iw r|kfilixeh/ Xfiw hkgudeox wfkuch okx le gkrieh# dkhimieh `oh |e$g|e`xeh/ @oy wugf diwuwe qicc le eoxe|x`ioeh ly Iohi`o Gkry|iafx C`q/

    Xfe rulcig `ggeww wregimie| iohig`xew xf`x xfe ioxe|m`ge g`o le uweh ly `oy gc`ww io `oy r`gj`ae/ Im yku

    hk okx wregimy xf`x xfe ioxe|m`ge iw rulcig# yku| ioxe|m`ge qicc le `ggewwilce kocy xk gc`wwew hemioeh ioxfe w`de r`gj`ae `w xfe ioxe|m`ge/

    @o ioxe|m`ge g`o evxeoh kxfe| ioxe|m`gew# nuwx `w ` gc`ww g`o evxeoh k| wulgc`ww `okxfe| gc`ww/ Fkqe}e|#qfe|e`w ` gc`ww g`o evxeoh kocy koe kxfe| gc`ww# `o ioxe|m`ge g`o evxeoh `oy oudle| km ioxe|m`gew/

    Xfe ioxe|m`ge hegc`|`xiko iogcuhew ` gkdd`$wer`|`xeh ciwx km `cc xfe ioxe|m`gew xf`x ix evxeohw/ @cc dexfkhw hegc`|eh io `o ioxe|m`ge `|e idrcigixcy rulcig # wk xfe rulcig dkhimie| g`o le kdixxeh/ @o ioxe|m`ge g`o gkox`io gkowx`ox hegc`|`xikow io `hhixiko xk dexfkh hegc`|`xikow/ @cc gkowx`ox }`cuew

    hemioeh io `o ioxe|m`ge `|e idrcigixcy rulcig# wx`xig# `oh mio`c/ Koge `a`io# xfewe dkhimie|w g`o lekdixxeh/

    xfe N`}` gkdrice| au`|`oxeew xf`x `cc dexfkhw km xfe ioxe|m`ge `|e idrcedeoxeh qixf xfe gk||egxwiao`xu|e `oh xf`x `cc gf`oaew xk xfe ioxe|m`ge `|e iddehi`xecy }iwilce xk kxfe| he}eckre|w

    1/8 Iofe|ix`oge

    Io klnegx$k|ieoxeh r|ka|`ddioa# iofe|ix`oge iw ` q`y xk mk|d oeq gc`wwew &iowx`ogew km qfigf `|e g`ccehklnegxw) uwioa gc`wwew xf`x f`}e `c|e`hy leeo hemioeh/

    Hemioixikow> @ gc`ww xf`x iw he|i}eh m|kd `okxfe| gc`ww iw g`cceh ` wulgc`ww&`cwk he|i}eh gc`ww#evxeoheh gc`ww# k|

    gfich gc`ww)/ Xfe gc`ww m|kd qfigf xfe wulgc`ww iw he|i}eh iw g`cceh ` wure|gc`ww&`cwk l`we gc`wwk| ` r`|eox gc`ww )/Evgerxioa Klnegx # qfigf f`w ok wure|gc`ww# e}e|y gc`ww f`w koe `oh kocy koe hi|egx wure|gc`ww &wioaceiofe|ix`oge)/ Io xfe `lweoge km `oy kxfe| evrcigix wure|gc`ww# e}e|y gc`ww iw idrcigixcy ` wulgc`ww km Klnegx /Gc`wwew g`o le he|i}eh m|kd gc`wwew xf`x `|e he|i}eh m|kd gc`wwew xf`x `|e he|i}eh m|kd gc`wwew# `oh wkko# `oh ucxid`xecy he|i}eh m|kd xfe xkrdkwx gc`ww# Klnegx / Wugf ` gc`ww iw w`ih xk lehewgeoheh m|kd`cc xfe gc`wwew io xfe iofe|ix`oge gf`io wx|exgfioa l`gj xk Klnegx /Wee xfe ev`drcew $ Ligygce/n`}` `oh Dkuox`ioLije/n`}`

    1/5 K}e|ck`hioa dexfkhw

    K}e|ck`hioa iw ` koe km xfe q`yw io qfigf N`}` idrcedeoxw koe km xfe jey gkogerxw km Klnegxk|ieox`xiko# rkcydk|rfiwd/ Rkcydk|rfiwd iw ` xeo auioe` d`he ur qk|h xf`x iw gkowx|ugxeh m|kd Rcyde`oioa ,d`oy, `oh ,dk|rfiwd, idrcyioa de`oioa/ Xfuw ` k}e|ck`hioa `cckqw xfe w`de dexfkho`de xk f`}e ducxirce de`oioaw k| uwew/ K}e|ck`hioa km dexfkhw iw ` gkdrice| x|igj xk `cckq yku xkuwe xfe w`de o`de xk re|mk|d himme|eox `gxikow hereohioa ko r`|`dexe|w/ Ix x`jew `h}`ox`ae km xfe m`gxxf`x N`}` |ewkc}ew xfe `gxu`c dexfkh xf`x aexw g`cceh `x |uoxide |`xfe| xf`o gkdrice xide/

    http://chapter7_example1/src/Bicycle.javahttp://chapter7_example1/src/Bicycle.javahttp://chapter7_example1/src/Bicycle.javahttp://chapter7_example1/src/MountainBike.javahttp://chapter7_example1/src/MountainBike.javahttp://chapter7_example1/src/MountainBike.javahttp://chapter7_example1/src/MountainBike.javahttp://chapter7_example1/src/Bicycle.java
  • 8/9/2019 Interfaces, Inheritance and Abstract Classes in Java

    3/5

    Xegfoig`c Cklly # \ iru|# Gff`xxiwa`|f# Iohi` & fxxr>++qqq/xegfoig`ccklly/gkd+ )

    Gf`rxe|1$ Ioxe|m`gew# Iofe|ix`oge `oh @lwx|`gx gc`wwew

    Xfiw hkgudeox iw wkce r|kr|iex`|y km Xegfoig`c Cklly `oh `oy jioh km diwuwe km xfiw hkgudeox iw r|kfilixeh/ Xfiw hkgudeox wfkuch okx le gkrieh# dkhimieh `oh |e$g|e`xeh/ @oy wugf diwuwe qicc le eoxe|x`ioeh ly Iohi`o Gkry|iafx C`q/

    7

    e/a/ d`|j`owqe|lkkce`o&lkkce`o `owqe|)z t

    d`|j`owqe|iox&iox `owqe|)z t

    d`|j`owqe|Wx|ioa&Wx|ioa `owqe|)z t

    1/= K}e||ihioa Dexfkhw@ wulgc`ww iofe|ixw dexfkhw m|kd ` wure|gc`ww/ Wkdexidew# ix iw oegeww`|y mk| xfe wulgc`ww xk dkhimyxfe dexfkhw hemioeh io xfe wure|gc`ww/ Xfiw iw |eme||eh xk `w dexfkh k}e||ihioa/Qfeo k}e||ihioa ` dexfkh# yku diafx q`ox xk uwe xfe BK}e||ihe `ookx`xiko xf`x iowx|ugxw xfegkdrice| xf`x yku ioxeoh xk k}e||ihe ` dexfkh io xfe wure|gc`ww/ Im# mk| wkde |e`wko# xfe gkdrice|hexegxw xf`x xfe dexfkh hkew okx eviwx io koe km xfe wure|gc`wwew# ix qicc aeoe|`xe `o e||k|/Wee ev`drcew $ Gi|gce/n`}` `oh Gyciohe|/n`}`

    1/1 Uwioa xfe Jeyqk|h wure|

    1/1/0 @ggewwioa Wure|gc`ww Dedle|w Im yku| dexfkh k}e||ihew koe km ixw wure|gc`ww!w dexfkhw# yku g`o io}kje xfe k}e||ihheo

    dexfkh xf|kuaf xfe uwe km xfe jeyqk|h wure| /rulcig gc`ww Wure|gc`ww z

    rulcig }kih r|ioxDexfkh&) zWywxed/kux/r|ioxco&,R|ioxeh io Wure|gc`ww/,):

    tt

    Fe|e iw ` wulgc`ww# g`ccehWulgc`ww # xf`x k}e||ihew r|ioxDexfkh&) >rulcig gc`ww Wulgc`ww evxeohw Wure|gc`ww z

    rulcig }kih r|ioxDexfkh&) z ++k}e||ihew r|ioxDexfkh io Wure|gc`wwwure|/r|ioxDexfkh&):Wywxed/kux/r|ioxco&,R|ioxeh io Wulgc`ww,):

    trulcig wx`xig }kih d`io&Wx|ioaZT `|aw) z

    Wulgc`ww w 4 oeq Wulgc`ww&):w/r|ioxDexfkh&):t

    t

    Qixfio Wulgc`ww # xfe widrce o`de r|ioxDexfkh&) |eme|w xk xfe koe hegc`|eh io Wulgc`ww # qfigfk}e||ihew xfe koe io Wure|gc`ww / Wk# xk |eme| xkr|ioxDexfkh&) iofe|ixeh m|kd Wure|gc`ww #Wulgc`ww duwx uwe ` pu`cimieh o`de# uwioa wure| `w wfkqo/ Gkdricioa `oh eveguxioa Wulgc`ww r|ioxw xfe mkcckqioa>R|ioxeh io Wure|gc`ww/R|ioxeh io Wulgc`ww

    1/1/< Wulgc`wwGkowx|ugxk|w

    http://chapter7_example2/src/Circle.javahttp://chapter7_example2/src/Circle.javahttp://chapter7_example2/src/Circle.javahttp://chapter7_example2/src/Cylinder.javahttp://chapter7_example2/src/Cylinder.javahttp://chapter7_example2/src/Cylinder.javahttp://chapter7_example2/src/Cylinder.javahttp://chapter7_example2/src/Circle.java
  • 8/9/2019 Interfaces, Inheritance and Abstract Classes in Java

    4/5

    Xegfoig`c Cklly # \ iru|# Gff`xxiwa`|f# Iohi` & fxxr>++qqq/xegfoig`ccklly/gkd+ )

    Gf`rxe|1$ Ioxe|m`gew# Iofe|ix`oge `oh @lwx|`gx gc`wwew

    Xfiw hkgudeox iw wkce r|kr|iex`|y km Xegfoig`c Cklly `oh `oy jioh km diwuwe km xfiw hkgudeox iw r|kfilixeh/ Xfiw hkgudeox wfkuch okx le gkrieh# dkhimieh `oh |e$g|e`xeh/ @oy wugf diwuwe qicc le eoxe|x`ioeh ly Iohi`o Gkry|iafx C`q/

    8

    Xfe mkcckqioa ev`drce iccuwx|`xew fkq xk uwe xfe wure| jeyqk|h xk io}kje ` wure|gc`ww!wgkowx|ugxk|/

    rulcig Dkuox`ioLije&iox wx`|xFeiafx# iox wx`|xG`heoge# iox wx`|xWreeh# ioxwx`|xAe`|) z

    wure|&wx`|xG`heoge# wx`|xWreeh# wx`|xAe`|):we`xFeiafx 4 wx`|xFeiafx:

    t Io}kg`xiko km ` wure|gc`ww gkowx|ugxk| duwx le xfe mi|wx cioe io xfe wulgc`ww gkowx|ugxk|/

    1/1/7 Q|ixioa Mio`c Gc`wwew `oh Dexfkhw

    Yku g`o hegc`|e wkde k| `cc km ` gc`ww!w dexfkhw mio`c/ Yku uwe xfe mio`c jeyqk|h io ` dexfkhhegc`|`xiko xk iohig`xe xf`x xfe dexfkh g`ookx le k}e||ihheo ly wulgc`wwew/ Xfe Klnegx gc`ww hkewxfiw oudle| km ixw dexfkhw |e mio`c /

    Yku diafx qiwf xk d`je ` dexfkh mio`c im ix f`w `o idrcedeox`xiko xf`x wfkuch okx le gf`oaeh `oh ix iwg|ixig`c xk xfe gkowiwxeox wx`xe km xfe klnegx/ Mk| ev`drce# yku diafx q`ox xk d`je xfe aexMi|wxRc`ye| dexfkh io xfiw Gfeww@cak|ixfd gc`ww mio`c>

    gc`ww Gfeww@cak|ixfd zeoud GfewwRc`ye| z QFIXE# LC@GJ t///mio`c GfewwRc`ye| aexMi|wxRc`ye|&) z

    |exu|o GfewwRc`ye|/QFIXE:t///

    t

    Dexfkhw g`cceh m|kd gkowx|ugxk|w wfkuch aeoe|`ccy le hegc`|eh mio`c/ Im ` gkowx|ugxk| g`ccw ` oko$mio`cdexfkh# ` wulgc`ww d`y |ehemioe xf`x dexfkh qixf wu|r|iwioa k| uohewi|`lce |ewucxw/

    Okxe xf`x yku g`o `cwk hegc`|e `o eoxi|e gc`ww mio`c xfiw r|e}eoxw xfe gc`ww m|kd leioa wulgc`wweh/Xfiw iw r`|xiguc`|cy uwemuc# mk| ev`drce# qfeo g|e`xioa `o iddux`lce gc`ww cije xfe Wx|ioa gc`ww/

    1/1/8 @lwx|`gx Dexfkhw `oh Gc`wwew@o `lwx|`gx gc`ww iw ` gc`ww xf`x iw hegc`|eh `lwx|`gxix d`y k| d`y okx iogcuhe `lwx|`gx dexfkhw / @lwx|`gxgc`wwew g`ookx le iowx`oxi`xeh# lux xfey g`o le wulgc`wweh/@o `lwx|`gx dexfkh iw ` dexfkh xf`x iw hegc`|eh qixfkux `o idrcedeox`xiko &qixfkux l|`gew# `oh mkcckqeh ly` wedigkcko)# cije xfiw>

    `lwx|`gx }kih dk}eXk&hkulce hecx`V# hkulce hecx`Y):

    Im ` gc`ww iogcuhew `lwx|`gx dexfkhw# xfe gc`ww ixwecm duwx le hegc`|eh `lwx|`gx # `w io>rulcig lwx|`gx gc`ww A|`rfigKlnegx z

    ++ hegc`|e miechw

  • 8/9/2019 Interfaces, Inheritance and Abstract Classes in Java

    5/5

    Xegfoig`c Cklly # \ iru|# Gff`xxiwa`|f# Iohi` & fxxr>++qqq/xegfoig`ccklly/gkd+ )

    Gf`rxe|1$ Ioxe|m`gew# Iofe|ix`oge `oh @lwx|`gx gc`wwew

    Xfiw hkgudeox iw wkce r|kr|iex`|y km Xegfoig`c Cklly `oh `oy jioh km diwuwe km xfiw hkgudeox iw r|kfilixeh/ Xfiw hkgudeox wfkuch okx le gkrieh# dkhimieh `oh |e$g|e`xeh/ @oy wugf diwuwe qicc le eoxe|x`ioeh ly Iohi`o Gkry|iafx C`q/

    5

    ++ hegc`|e oko$`lwx|`gx dexfkhw`lwx|`gx }kih h|`q&):

    t

    Qfeo `o `lwx|`gx gc`ww iw wulgc`wweh# xfe wulgc`ww uwu`ccy r|k}ihew idrcedeox`xikow mk| `cc km xfe `lwx|`gxdexfkhw io ixw r`|eox gc`ww/ Fkqe}e|# im ix hkew okx# xfe wulgc`ww duwx `cwk le hegc`|eh `lwx|`gx/

    Okxe> @cc km xfe dexfkhw io `o ioxe|m`ge `|e idrcigixcy `lwx|`gx# wk xfe `lwx|`gx dkhimie| iw okx uweh qixfioxe|m`ge dexfkhw &ix gkuch leix!w nuwx okx oegeww`|y)/

    @lwx|`gx Gc`wwew }e|wuw Ioxe|m`gewUocije ioxe|m`gew# `lwx|`gx gc`wwew g`o gkox`io miechw xf`x `|e okx wx`xig `oh mio`c # `oh xfey g`o gkox`ioidrcedeoxeh dexfkhw/ Wugf `lwx|`gx gc`wwew `|e widic`| xk ioxe|m`gew# evgerx xf`x xfey r|k}ihe ` r`|xi`cidrcedeox`xiko# ce`}ioa ix xk wulgc`wwew xk gkdrcexe xfe idrcedeox`xiko/ Im `o `lwx|`gx gc`ww gkox`iow kocy `lwx|`gx dexfkh hegc`|`xikow# ix wfkuch le hegc`|eh `w `o ioxe|m`ge iowxe`h/