Você está na página 1de 21

v

Linguagem de Proqrarnacao II
• Agenda:
Heranca Classe Object Polimorfismo Classes Abstratas Metodos Abstratos Interfaces

UninCorJ})
Universidade Vale do Rio Verde

Prof. Marcelo Mussel

v

Hleralli1ca
.." I " " ~~ II ,,' ,", d ,,' os . ' 'I""r" "I I " ',' " "','" ,.' IHI e~anca e capacrc. I ace ueuII' ill a ciasse Irerr: ,cur ,:' " attn rutos'." e metm d," . : ," , ,:emt'ra ,cIIesse, OS "de II
' .~. " '," .' " , , ' ,,. ,~' . ' ", i' ",
r• , '

Per exernplo no caso cia nossa clesse Cllien~ties,podemos ter cllentes pessoas ffsiicas Ie cllentes p essoa s ]' ill rld ileas ,.

An crtarmos urn rnetcdo para ill1l,dlU'i'n~' dil'ent'e~ teremos que lnclulr urn CINPJ" dependendo do tlpo de cllente,

1110

banco de dados

0

CPIFOILl

0

Atra ves cia hera nca pod ern os crl ar cla ss es ma is especia Iiizades, por exernplo a classe 1F~ slea, p a n~t:il da c 11.a dlente ,. r sse

a

dliBntes h:.de 2FgDlfCi adkrona'" Fi -CE es a'::rlbuiDD5e m~~GS £E!sp:eot1iDEG de lim clr81'J'te 00 tfpn ~SS'Da fi'siC3J..J.asta .1 al d +o=I:Cad !JoO :i nt +setN crre (nDm: :SiY.I:N Int): 1.. a classe CIIen1J!s oN :*-5b.inQ):~oi d QIT"IOI 0 :stri ng +g.v A d~:68E IFi!:i..tL. old L' 01 d .J:!= i81:ri ng «-COd~D:lnt= 0 «-ro-ne: stnrq= I~I +set ccd 0:-((0010:-: +g.Jete....oi d l.:::E nrlh 05· a'!rfrmtIDs e merodos da class!:!... Fi~c-l:l ~cpfI8'b-'ing = III t-5etCpf(cpf: String): f.....I:St.pfO :strl nc +i nch.l:&(): String +r:::u:cluir( )1 .. hl]: ..

v No Java naio ex:ils~)8 hera n~aJ rnu ltipla. u . !DIU! s eja ca ala classe Entlfet13lf1" CI U Irn'i a cI ass e p CId e ter Inil !JJlita~ classes llhas IJ so pod IE:' '~)8f"' rn [pari.

p~~ ~ j_:m. { 13 15: l'eturJit M~ () { 'tlh::i6. Z9 29 ~.ja:va 01 ~l.ge 02: ~ti~ 1'p2. il e xcI u do I I~.5 .::i!enJte ~ ( 03 04 OS OS 07 II V8.::::.' .'aula.£: l\r'Ud 'SletC ocligo (:iLnt oOldli.o iI fl g 26 Z.:i.e ~ M@'5S~ 09 10 11 12: p_li.r:eilUtU ~. I!::e clli go . co diQ10 ·t.c p_~ ~ l~ 2:0 ~"trifiidi ~W we ( ) { I:'eturq.:0 clliL ~ ~ ~...lng' nan.: lJ8'~e 14 115 17 18: ) p~JI.06 ~~ Cll.. iitrirlf1[ ~tStat'UD ( )1 ~ Z.'t' ieV8i s PIr'et@ ~ das p~~te:d :get"'Dlg' status ~ p~~1tgil :i. tkils "OO~ .v IExe IlfillPI0 01~1 IHle[r'~ IfIl~~ IClientes . II II .1j. II HBtodo:!S pdDJLiEI 'W'rid [@:~~'l.a..~ ~ (. 0€C prm'tel!:!ted II ~@Gi@s ::5t:!r' .1Wi .statll5.1L 22: ~:3 2:4 2:.ui:t' ( ) { stat.irCIOdbL.gp~ tMs ~ ~~di~ ~: c:gdi~..

99.1&5) s 1 12 l } l~ .Ei.tI!nt@ _ .v T@E:~H. qO ~ sP.lL~~lflB5l Ie s&re 6. s B1t'lJA5:: il ..'it ".( S .C~ ~ fI:. { #- IJfi Ijl~ 07 09 Ill] C~ .! @ •. 1p2)::tu Ial:l 6 _ IJ Z :ptD:J.. se:t..l~Je~e 03 IjJ 4: 'l ~:lLng ~] 'UDdldl !to ril"l! £It seas Cl I]S 1il. 5t a1t..~.+. (~ ." :gt '.8 S ~ J .1E. () II e~C~'iJlir eel".~Ug ~Et ®U.is 1m8 B !!:'.:Jr~intm. ~~~.'US 16 '= ReH' C.arg~ .l ielTJ.~« ~ II I .. I] 1 parlkB=gp.

: ~ ~e~p f ~ .''ilass I'i~ic 1Jj~ a.: S." ifig" ~p..gta .:~!.t·od. [~ .' oji Ii !! He.s ~ f.iI::"t~.:au 18:(16 10:2 ~ll.._~.c:' vmd i~lL'ul:i . _ _ ID1 pagkagBl IJQ. £ . ~ os 1D9 t.ing~f) c ~:If~ { 0 11 ) :pWil:iJ.rc c:. I I "1J8ir :iBrJl!E!19 Prote ~ eIas :p':L'U"~:ted ~tl.i.oi5 de Ace:SSlO :D1h~. tu..el"i~ . Cl ierlLte ~ ~: 04 105 106 rn. dOl codiglo acirna.{ ) 12 13 141... ~:)-{ r IS ) Ohse'li"""Ve al linihia 2.s 1~ 17 II ·~~O~5 :pw'l!:i. e(xitendelflldlo aJ classe Clli'entt:es e esta linha q!lJle e8'tt~ dizende [Glue' a elasse Fi~i'ca e.v l'iB~ ~:j a-va.~ ~etCp'f (:~~r.

.M~liIJ.atu:!. ) :: !! l~ 15 14 ]. ~ 111 ~~ ( ~ 11 12: ~at~ ~ C!_.1S ~oIJ.. @llL_ @lAm.. . =s st..~~ .: C.st. :9 g~-~~ • ...st abU5 :F!s)JLca ~ = ..v 01 :paCka-gBl iJl Z 03 I] ~~--=L~Ie ~1aSR pdH. .~ IpL.1t'Jl..u: s...:p r~~m ._ C ~at. ~et.. .~ i:l). setCp f C i:l ~~ ~J . sss.~ ~!..~!~ l .~ . .is)JLca() . iEl:. ~I!' ir.I~~t9. "~.ng. 8S.. setE@mE! ( !rv.':iula~6 Tesee Cl.:~'ilte '1fI}eid { rg"'gS) ( 1]5 015 Stl:'i.m DLSm (~r~~~:] :.i!O ~~5U..« .. ~i~ ii :F1. 01' Qlel I]~ ~ ~iEtte~d..

.aulaii:i6 Ua!:Ii!S A.3 neias dlaJdaJsse fli~·ical. i§ e estes m etodos tivessem m sidlo cria d os n31 propria classe.a:§ i nSi~.v Oooense q]llJlie IFli.Th~.S .pL.F :s.!!.] alia 1 pl~ Z :3 pr~U 4 l.CiOlilil i~l®!.( Sl .e e g ets:ltatu!j.<eill:. nlorm a 11m enloe ~ IC~O 0. '1l!WID.eltlNo miI.F utilizemos os mete d es .

.v O~ense no exern pia a ba iKI]. '~Er' nada. lilIa - 5 !..~ que a pesa a pa rece urna serie die mle~:odlos" If d a cI esse AluIFljlo~.~ I].O 1.

v .

) :trii:sd.:aulaa6 p:.( C ~€Ii<~1 ~I '*' Cl@ ti ~ +.a:...ren.~!.._ java :p'~kag)E!! .&:t..:ii..d I~.e:g .1I:l ~ ." e sebreserito por urn ClLi. as da SUI b ctai§i§e [FiiaIO pe d ern ter Il1i'i 0 d(lea dor do metedo d E:' s U a su percl sss e u Illl'i e~Ddos sobrescritns !lJlnll me ciI ifieado r I'ifli a is restritivo que 0 .. { StSt1US .etodlo !J.t. I~ e.. exteD13 CJi.lui.a1 ICli enJt.arm.IOOOligD ParrialL _ lfi'.:au laa6 II:lWLas:B :p1ibllia :pWH~! vrid.( l. !II.il)e<r£ e~ .C6m.lCa.so Ihrescrita nil etodo die rnesrno nom o } OCOI"lfe' 141 IfIJd10lUI iIlI FiIlI.v Oiv1ell1ridliilFllIQ!(.ca ..go p. j ava _ ~ p:uhl.Jlbc:lalsse.JL'Ui M !". !' G€i~~ ~! + @€II ti ~ -+ I!! E! x@luioo !.i. { l.Wli~ vm.pL..us ii:l !~ ~:lI:!!Jllu:L~' (:~..r ~. :s:t..Jla F die urna SIUI erclasse p e 1m e u m a s!J..:Xr::l.p2.

da pa 1 *1 IN meto r C ass ~unC10nar10 L public double calcula:S.alarl. } .e ).1[ return 2.alarilQ()1[ r<eturn 0 ]+ ~ W W ] 1.. a:Sa1a rio ( t-fCilrl t a h011'1t. ]+ s s double calcula:SalarilQ( iM'ensallsta mensa l..¥"i. a ext en d s.oO· ifiIensallsta ext endls Funcl0narlo ..d e ::: c l a s ses fl1 has es c f"e.as.'ilerrL e public double calcula:S.s.den avlO 10 [llIeSIlTilOi d 01 . Fun c 1.a ss.Lst.-.e . 1[ r<eturnl 2. c ].'v..o()- 1[ { re1urn 1[ :11. 1[ r-efu rn :11. I'tm"'lst. a ). ld ~.} c].:.errl.alari.oln arlo @Override public dl'ouble calcula:S..v 1 * lQ'v.ass. ]- c]. CalculadCilrSalarlo 1[ public public doubile cal cul..

B~cltir seae'us. [ood.'US iiOiIi ~~ ~! (.au la~6 II Ret OM g: ~1DJlia ·wci.cotligCi + Ii e:x:cluid~ll! iI.e n a rmesm a cLa:§:§tE:" CH~eB! -. .~ ~l Mr tjLnt.n~ st'. ) pttd.~ ) } 'v..d.v o CF'I{IE:lI1IoaJdiiIFllIg (so>blfec~nreQlamlento>} iim plementad 0> oeorre quando rnais die urn riflH~:todo corn 0 rnesrno lFi1l0Fifile' . pall:!lraIJ"@ IJ12.m go) { di I[f@ II .ja~. ~.. ()I II ~: =: ~'C6cli~ 'f . at'.i9~ + !!I E!!K@!JLuid~ J ~!.

(statu:s) . _m.t'IUl!!:) s i~em.trt_ p!ri1:'lllt In (gt.: pm~ .p2. :~~~. rNles~e IE:Xelilil plio observe .F~! :3e:~~' 1.rimg' ~ a:t~s) syst em.g' ~ pd. 01 iJlZ .r.©YI~.m (:tlU. E) ~ ~'t.a riavel status q ue :l:!iE:lralmp ressa e 00 va 100 r do p<al-allrnetno pessade Ja na Iliilillha 1..l 1:.~eJlL. O'i OI~ Gl9 Hil vm.. ril"il. II .i:n't-. ~r.aulaiJGi I:l~ 03 :pW):liiC 014 05 (ilo ri'ai ~: :5tst ~ !!!: ":~~~ cl~ ]:!I a:I!.HC! 'void.!'l·iimindlO 10 valor dla vOilfi:avel status declarada como I!JIm aliliibol!JiJo da elasse «Liillliha 4)" .2 i estaremos iilllilr.a.:I iICpl"":jim.~ 11 12 1~ 14 15 ) ~S::~ .: IlrwlliW .hl. prine.10 11 a lliin h a :l!.. 1:3 pd!J.s • ~ ~ u:.v Pa:i _jat...:3i.{ ~t.:::) .hl.. ~~.{ eJlL. wW:i iICpl""m'it"" (ftt..nt.. pri~m ('tkiB:" status) ~ } ~ rNiesiJe IC~SO al v. iriipl: mil!:' (St.it"" () ... (st iELt.

5 06 I)" pwtic 'W'Ud :iL~~'~:i:t'· Em _ ~t.J.: a 1 :[p[II:l~ 02 I)j :~H. etJd~ Pat { gts.1t'lllS 00II l!lSIta:t!Ug Ilie Fil'l"ml!l.:a.ln. (rt.ula06 c~ P:iLll1a.: 04 :s~·~ ~~ a..allraella corn 0 urn abiiD!1J [to lcila classe ]. 0( (S1JIIIf!I:.n. l.aliloir da va Ifi:avell status p 8!lJlpelfi'01f~ 0!lJ1 seja cia clssse [paii" .JjJ'IaLo j.} em _@1ll~ p:r~.pL." _ S~geUS ) o8 pr:iL:nt. at ~) . s l dreil::J. i$~ us 10 11 .a1ll'la.v J'j. •.3 IfIla linhe B e'§tal"'e'll1il os iill1il I"imliil1'li1cilo 10 v..c.

ist ():.pOll.'ilil.c:ar oqaeprecisa adjllstD:.v Veiculo checkl.lmJ~~.pez. O. c:iJL'e c:Jl. () cleanupl) I Au tom.El:!JJ. . SIe:I.i:iIJ.edizOll c:le.up(:) ': :POlli:il. '[e1ilizOllprooedlfM:5liIuo:s.p:ar:i:iI. () cleanupl) i.ist () adj 1J:s1.S['~OllOS e . 2-.dj om () de<LlllJp() ~ I B1c1c1etn checkl.9iio ~eoes:s:m~..ist () J. do vciolill!l!o.3.:'lI.i:ilJ[.m. e dle .. .EoodlS:<ild!o~o vciol!lil!o.ilI!.6ve I checkl.ist () adj 1J:s1. ver.

. fazell istn a pallt'ir des a bstralclt~.: liniiW1 s eecW:i~1 ~iDt !l..lt~.. () { :t"d.s .basitaubilliizaill.:etHiO'.ata. 91 21J 21 II } pmUc::i ~'t.~.O g-o.( . ~~ol!tl ~ .OlldbL f$'.~:t:'~ Dmo:S: = .m.) d..:~: .e') -{ 15 16: J!.!ada!8" como per exern plio a classe lFisica Pa ral tra nsforrna I' a elasse Clie:lllllJes emallb:l:ltll..1 1 ~ pd::iJliiJl:: Stl.e } l ::.V18 Illiome: dla classe.at.. I~odlii. IC.al[:ha.."ii/4 1gerdll'ome ~) { . ~ lI. ... . l.:iU!:! vm... !!!!! iii.:r..alpallavlI.trati!3l" Sl8 !:Illlgu8I'ifiiq!lJlise&Sle u.i3:ulaJI6 02 :pd)lic:' altab:act. ~ piWWI..: I( ) g:Q .:!r'I() ( status "C~&I~I I! 'Ii- 23 J = iI2@fil}~ -if II! E!}l~luiM! ".'inq 19E!f~~a::tU5 ~etunL UUi..IJ:llie:l( ~ :noIIlE!! s 5trm9' .tiilliizalr qualquer metodo dal elasse clli'e-ntes poderia cta:8:l:l<8sdI8Irii1.e.v ~lor exemplo !:IInosse classe clli'e-ntes podleria sell abi§.nom.~... ::..:::. 1J3 1c1J.( pwlic vm.us .! _rrLmII. antes Idl > 0 CbiJem't-l@S'" jja1l\iil 611 ~~ 1p2-.t.d €! Ml~l:iUii..'1 61 s l t~ .r l piWLil.U.i pm~ in ~~Q~Ii:tL~ ~et'lll.~'iS: eli ente:s ~ 04 61 Ii 06: 1J.1.d 'lbli!. O~ i.n ~"Ico!dli ~~tg!l ptriD1teI!:!tel!l pU)~oolii ~tlt..a 11 JL2: JL 3 ].'U1"f!.~ ~:tEi.::.

.elllill1ll iolbed eccer' Ob~erv.a d as a fifli etod os. nom 8:S dos m etodos se com porta eemo fesse ILlI m Imas dasses d 8'lfi'vacials" elasse abstrata r.v A!B elasses iim plementa derive d aSF r estes a pa rtir de ume elasse que cornee fifli fifli etod!lJls a bstratos sa a. () .' cd e'!j.a Im ple:1l1l'i e:lllltall'"en1J eertns lmie:tod 0. 'pa. !. cl.:au laiIJ6 DWl:i1c.!llI.e.ellla:ss:e.aJS: !.(lI~~O calS:O~.ao IFliIO~. OOlfj'ga If as classes derive d as . c)Ollmtr~arill:ID que as .asa J:m i~ica eHtt~ eli efit.s deliiva.g.age 1. e pa rtic ulermente IillesttE !lJ ti I p'ara tI1olr:~al"'uma certa [pad l'!DIFli i:z:a~.l. ohlf'i.{ ) K:§to A.$ die: ba se pa ra 10 u'ttJras .p2.j!".{ p~:iJLc ) 1 ~dUI alte:~ar. S'ell"vil"' classes.:..:.

i3il:t.ii3.1 em enitam esta i'ntlBl·fa ces. pmUc ~ s: etJCid~.fit 00 W~l~ . 'Il1riJj S ~CI@p1 (Sit-xir:vg @~p)1$0 l~ pwJllU:. String' s:reI:C:idarle () .ula:iJ6 Z :3 p!iilJl."~~ .:iA:.t.1.au lams 02 013~l!.v As iGla:ESBS I8 iim p.e~:h. llltlid 1e1l~'luil' 'Im_ !1.!le ofereeer UIilil a illili'i pllBmBntagao pe ra cada mebolcil0- . Stri.:k! 4.' () s ? puld. ~ . :i.i!C i:ntia':f~e :E~~~'eC:~:5 ( Gl4 I]i 'II'1iliIll S ~limtE!!lfIE!~@ (~~lfi~ IlfdJ~ 1~1:t:'"E!~ @) • 06 0I'i GIS 1]9 St~inq ge~~mde~ec~().k wY ::lnc::luir«' .€!l"'aJ..n. E~OOiS:._java I] lpaiGkagJ!: 11. 1I\~ 1p2. d qjlU de!fillfllido mil sua IintlBl·foa • ee e'!.ng gei:C!epl~~ ( 11 12 ) .oel C~da~ s ~Ul Ib puld.p2. «:i.EII! Stl:~ pwlllil::: pdltic IlfdJ~ c::lL~' ~.

n null~."@t.{ vDd:iLncl.:ic! ~1tr:n.idla. (~'tri'~ I~&~e~..di go)1 .::' 04 05 Illi AlLUfii:iJS ~nts C~st ~os tJ' iwlet:" eCQI.e: ~clY!1~i( i.1.eid:e. 12 13 14 15 lPW~ ~'I~ ~ ( 16 l' 18 2:1 II } JPrW~ ~~ri~ '¥!tC:~ l() { ret:ur.:ic! void .orn. pmLil. etC:epl (St~i~ }.de!«) 'I:''@t. cap) {: I.~ E!t:Cidade.urn nuJJL..ng I~t.ll. .'e.. jpwill.ng' }pdJ. p1ml.u.p2.v Ol ~ III 1.I'it ~ .Uii.aulaW5 !!C~ OJ :pWlli.g.5 26 27 lPW~ } Sitt"i'ng 1~:e:iElru:lEt:~~~ ( ) ~ n.d. ~~'li:r:i.. }.:U:: vuids.~ :} il:!.g..) ( za 2:9 ~ ·~~~:ndE~EC.5: l ( 07 09 09 III }p1dll. i l~ 20 23 24 2:. 1.g.:k: :} vdd .) { 30 31 32 33 }.