Programare Java Curs – 5 FOLOSIREA METODELOR PENTRU INDEPLINIREA SARCINILOR Metodele sunt partea ea ma! !mportanta a or! aru! l!m"a# de programare or!

entat o"!e t deoare e ele de$!nes $!e are a t!une !ndepl!n!ta de un o"!e t % Clasele s! o"!e tele o$era un adru de lu ru % &ar!a"!lele de !nstanta s! de lasa o$era o modal!tate de a de$!n! eea e repre'!nta a este lase s! o"!e te % Doar metodele pot de$!n! omportamentul unu! o"!e t ( lu rur!le pe are este apa"!l sa le real!'e'e sau modul um !ntera t!onea'a u alte lase sau o"!e te % In ursur!le anter!oare am va'ut um sa de$!n!m o metoda s! sa lu ram u ea pra t! % In ont!nuare vom detal!a unele ara ter!st! ! are $a metodele sa $!e ma! e$! !ente s! ma! usor de $olos!t ) * * * * supra!n ar area metodelor + overload!ng , ( rearea de metode u d!$er!te semnatur! s! de$!n!t!! !nsa u a elas! nume rearea metodelor onstru tor ( metode are perm!t !n!t!al!'area o"!e telor - pentru a le de$!n! starea !n!t!ala d!n momentul rear!! lor supras r!erea metodelor +overr!d!ng , ( rearea une! de$!n!t!! d!$er!te penttu o metoda are a ma! $ost de$!n!ta !n super lasa metode de $!nal!'are + $!nal!'er , ( metode are el!"erea'a resursele o upate de un o"!e t dupa term!narea lu rulu! u un el - !na!nte a a esta sa $!e !nlaturat d!n s!stem

CREAREA DE METODE CU ACELASI NUME SI AR.UMENTE DIFERITE Un e/emplu de ast$el de metoda este valueO$+, 0 metoda apart!ne lase! #ava%lang%Str!ng % In general !n Java vom !ntaln! des lase are ont!n ma! multe metode u a elas! nume % Metodele u a elas! nume se d!$erent!a'a !ntre ele pr!n doua ara ter!st! ! ) * * numarul argumentelor pe are le pre!au t!pul datelor sau o"!e telor $!e aru! argument

A este doua ara ter!st! ! de$!nes semnatura metode! 0 $olos!rea ma! multor metode u a elas! nume s! semnatur! d!$er!te se numeste supra!n ar are % In e/emplul lase! Str!ng - metodele valueO$+, sunt supra!n ar ate deoare e pre!au a parametr! t!pur! de date d!$er!te % Supra!n ar area metodelor el!m!na nevo!a de a de$!n! metode omplet d!$er!te are sa $a a !n pr!n !p!u a elas! lu ru % Supra!n ar area $a e de asemenea pos!"!la omportarea d!$er!ta a metodelor !n $un t!e de argumentele pr!m!te % Metodele valueO$+, pot $! $olos!te pentru a onvert! d!verse t!pur! de date sau o"!e te !n s!rur! % Atun ! and apelam o metoda a unu! o"!e t Java ver!$! a numele s! argumentele a este!a pentru a vedea e metoda va e/e uta % Pentru a rea o metoda supra!n ar ata !ntr*o lasa vom de$!n! metode d!$er!te - u a elas! nume !nsa u l!ste de argumente d!$er!te % D!$erenta poate onsta !n numarul de argumente - !n t!pul de argumente sau am"ele % Java perm!te supra!n ar area metodelor atat t!mp at l!sta de argumente este un! a pentru a elas! nume de metoda % Ment!one' a Java nu !a !n ons!derare t!pul valor!! returnate pentru a $a e d!$erent!erea metodelor supra!n ar ate % Da a !n er am sa ream doua metode are d!$era doar pr!n t!pul valor!! de retur vom o"t!ne o eroare !n a de la omp!lare % In plus numele var!a"!lelor pe are le alegem pentru $!e are argument nu au !mportanta ( tot eea e ontea'a este numarul s! t!pul a estora %

1

/4 .!nt 34. .0 346+3192.pentru a pre !'a oltur!le d!n stanga*sus s! dreapta* #os ale unu! dreptung2! ) /1 .!nt 2 .0 return t2!s0 8 Pentru a $!nal!'a e/emplul ma! ream o lasa .Po!nt dreaptaJos .!nt 31 . are sa apele'e toate a este metode ) 4 .31 .s! o metoda ma!n+.a$!sareDreptung2!+.!nt /4. 5 /16stangaSus%/0 316stangaSus%30 /46+/19l. 5 /16stangaSus%/0 316stangaSus%30 /46dreaptaJos%/0 346dreaptaJos%30 return t2!s0 8 Pentru a metoda anter!oara sa $un t!one'e lasa Po!nt tre"u!e !mportata la !n eputul odulu! sursa % O alta modal!tate de a de$!n! un dreptung2! este de a $olos! oordonatele oltulu! d!n stanga*sus !mpreuna u valor!le !nalt!m!! s! lat!m!! sale ) Dreptung2!ulMeu onstru!reDreptung2!+Po!nt stangaSus .!n adrul metode! vom $olos! uvantul 2e!e t2!s pentru a re$er! var!a"!lele de !nstanta ) Dreptung2!ulMeu onstru!reDreptung2! + !nt /1 .!nt l . 5 t2!s%/16/10 t2!s%316310 t2!s%/46/40 t2!s%346340 return t2!s0 8 O alta var!anta ar $! $olos!rea o"!e telor Po!nt !n lo ul oordonatelor !nd!v!duale % Pentru a !mplementa a easta var!anta putem supra!n ar a metoda noastra ast$el !n at l!sta de argumente sa ont!na doua o"!e te Po!nt ) Dreptung2!ulMeu onstru!reDreptung2! + Po!nt stangaSus .34 % lass Dreptung2!ulMeu 5 !nt /1670 !nt 31670 !nt /4670 !nt 34670 8 Atun ! and este reata o noua !nstanta a lase! noastre toate valor!le vor $! !n!t!al!'ate u 7 % In ont!nuare vom de$!n! o metoda are pre!a patru argumente !ntreg! s! returnea'a o"!e tul re tangular % Deoare e argumentele au a elas! nume u var!a"!lele de !nstanta .are urmea'a sa a$!se'e oordonatele dreptung2!ulu! .In ont!nuare vom detal!a un e/emplu de metoda supra!n ar ata % &om rea !nta! o lasa are de$!neste o $orma re tangulara u patru var!a"!le de !nstanta .

!mport #ava%a:t%Po!nt0 lass Dreptung2!ulMeu 5 !nt /1670 !nt 31670 !nt /4670 !nt 34670 Dreptung2!ulMeu onstru!reDreptung2!+!nt /1 .. 5 /16stangaSus%/0 316stangaSus%30 /46dreaptaJos%/0 346dreaptaJos%30 return t2!s0 8 Dreptung2!ulMeu onstru!reDreptung2!+Po!nt stangaSus ...0 return t2!s0 8 vo!d a$!sareDreptung2!+.0 S3stem%out%pr!ntln+.. .Apelam onstru!reDreptung2! u oordonatele 4A-4A-A7-A7 ) ..0 dreptung2!%a$!sareDreptung2!+. .0 S3stem%out%pr!ntln+.-=.BBB=.0 346+3192. 5 Dreptung2!ulMeu dreptung2!6ne: Dreptung2!ulMeu+.0 dreptung2!% onstru!reDreptung2!+ ne: Po!nt+17-17.BBB=. 5 /16stangaSus%/0 316stangaSus%30 /46+/19l.0 S3stem%out%pr!ntln+. lat!me A7 s! !nalt!me A7 ) .0 dreptung2!%a$!sareDreptung2!+.!nt /4 .A7 .BBB=. 5 t2!s%/16/10 t2!s%316310 t2!s%/46/40 t2!s%346340 return t2!s0 8 Dreptung2!ulMeu onstru!reDreptung2!+Po!nt stangaSus .0 8 pu"l! stat! vo!d ma!n+Str!ng argumente?@.0 dreptung2!% onstru!reDreptung2!+ne: Po!nt+17-17.Dreptung2!ul meu ) <=9/19=..!nt 34. 5 S3stem%out%pr!nt+.0 S3stem%out%pr!ntln+.) .0 S3stem%out-pr!ntln+.0 8 8 C .Po!nt dreaptaJos .!nt l .0 dreptung2!%a$!sareDreptung2!+.9/49=..A7 .0 S3stem%out%pr!ntln+.ne: Po!nt+47-47.!nt 2.0 S3stem%out%pr!nt+.9349=>=.0 dreptung2!% onstru!reDreptung2!+4A-4A-A7-A7.0 S3stem%out%pr!ntln+.!nt 31 .Apelam onstru!reDreptung2! u 1 pun t +17-17..931.+47-47.Apelam onstru!reDreptung2! u pun tele +17-17.

Eu sunt .putem apela metode ale altor o"!e te sau putem seta propr!etat!le !n!t!ale ale unu! o"!e t % Metodele onstru tor pot $! s! ele supra!n ar ate .D7= pentru ara tere .atun ! and o"!e tul este onstru!t % Spre deose"!re de alte metode .9varsta9= de an!=. 5 return onstru!reDreptung2!+stangaSus%/ .!ntr*o metoda putem apela o alta % De e/emplu .dreaptaJos%/ .dreaptaJos%3 .stangaSus%3 .metoda onstru!reDreptung2! are pr!meste a argumente doua o"!e te Po!nt poate $! !nlo u!ta u o vers!une mult ma! s urta ) Dreptung2!ulMeu onstru!reDreptung2!+Po!nt stangaSus . s! am . apelea'a metodele onstru tor ale lase! C2!ar da a o lasa nu are de$!n!ta n! ! o metoda onstru tor este totus! pos!"!la rearea unu! o"!e t % E/!sta !nsa a'ur! !n are dor!m sa setam anum!te var!a"!le de !nstanta sau sa apelam alte metode de are o"!e tul are nevo!e pentru a se !n!t!al!'a % Pr!n de$!n!rea unor metode onstru tor !n lase .null pentru o"!e te .0 8 pu"l! stat! vo!d ma!n +Str!ng argumente?@.!nt a. 5 nume6n0 varsta6a0 8 vo!d pr!ntPersoana+.putem seta valor!le !n!t!ale ale var!a"!lelor de !nstanta putem apela metode pe "'a a estor var!a"!le .Po!nt dreaptaJos.u doua d!$erente ) * * metodele onstru tor au totdeauna a elas! nume u el al lase! metodele onstru tor nu returnea'a n!m! In e/emplul de ma! #os vom vedea o lasa Persoana are $oloseste o metoda onstru tor pentru a*s! !n!t!al!'a var!a"!lele de !nstanta pe "a'a argumentelor pr!m!te de ne: ) lass Persoana 5 Str!ng nume0 !nt varsta0 Persoana +Str!ng n .0 8 METODE CONSTRUCTOR In a$ara de metode o"!snu!te !n lase putem de$!n! s! metode onstru tor % O metoda onstru tor este o metoda apelata la rearea unu! o"!e t ( u alte uv!nte .!n a'ul de ma! sus .Java e/e uta tre! a t!v!tat! ) * * * alo a memor!e pentru o"!e t !n!t!al!'ea'a var!a"!lele de !nstanta ale o"!e tulu! $!e la valor!le !n!t!ale $!e la ele presta"!l!te + o pentru numere .0 S3stem%out%pr!ntln+.Atun ! and avem ma! multe metode are $a lu rur! asemanatoare .la $el a metodele o"!snu!te .$alse pentru valor! "ooleene s! .o metoda onstru tor nu poate $! apelata d!re t 0 Java apelea'a metodele onstru tor !n mod automat % Atun ! and este $olos!ta !nstru t!unea ne: pentru rearea unu! nou o"!e t .0 G .pentru a rea un o"!e t are are propr!etat! spe !$! e !n $un t!e de argumentele transm!se pr!n !nstru t!unea ne: % METODE CONSTRUCTOR DE EAFA Constru tor!! seamana u netodele o"!snu!te . 5 Persoana p0 p6ne: Persoana+.Ion=-A7.9nume. 5 S3stem%out%pr!nt+.

1.0 8 8 APELAREA UNEI ALTE METODE CONSTRUCTOR Am va'ut anter!or um o metoda poate apela o alta metoda !n asrul e! % A elas! lu ru poate $! $a ut s! !n a'ul onstru tor!lor % Da a avem o metoda onstru tor e repre'!nta un omportament oare um asemanator u el al unu! onstru tor e/!stent putem apela pr!mul onstru tor d!n !nter!orul elu! de*al do!lea % Java o$era o s!nta/a spe !ala pentru a real!'e a est lu ru % Folos!m urmatoarea !nstru t!une pentru a apela o metoda onstru tor de$!n!te !n lasa urenta ) t2!s+arg1 .0 Folos!rea uvantulu! 2e!e t2!s !ntr*o metoda onstru tor este s!m!lara modulu! lu! de $olos!re pentru a esul la var!a"!lele de !nstanta ale o"!e tulu! % In !nstru t!unea anter!oara argumentele pr!mate de t2!s+.oordI.!nt lungRa'a.argC.0 p6ne: Persoana+.Laura=-C7.. 5 t2!s%/6 oordH0 t2!s%36 oordI0 t2!s%ra'a6lungRa'a0 8 Cer ulMeu +!nt oordH .metodele onstru!reDreptung2! .sa luam o lasa are de$!neste un er $olos!nd oordonatele +/-3.!n lo de metoda or!g!nala onstru!reDreptung2! + are pr!mea patru parametr! .0 S3stem%out%pr!ntln+. ale entrulu! s! lung!mea ra'e! % Clasa Cer ulMeu poate avea do! onstru tor! ) unul !n are este de$!n!ta ra'a s! unul !n are ra'a pr!meste valoarea presta"!l!ta 1 ) lass Cer ulMeu 5 !nt /-3-ra'a0 Cer ulMeu +!nt oordH ..0 p%pr!ntPersoana+. am putea rea un onstru tor % SUPRASCRIEREA METODELOR Atun ! and apelam metoda unu! o"!e t .arg4 .!nt oordI.0 8 8 A doua metoda onstru tor d!n lasa Cer ulMeu pre!a doar oordonatele / s! 3 ale er ulu! % Deoare e nu este de$!n!te n! ! o ra'a se $oloseste valoarea presta"!l!ta 1 0 se apelea'a apo! pr!ma metoda onstru tor are pr!meste a argumente oordH .!nt oordI . 5 t2!s+ oordH.****.pot onst!tu! n!ste metode onstru tor $oarte log! e deoare e sunt $olos!te pentru a !n!t!al!'a var!a"!lele de !nstanta % Ast$el .****.de$!n!te !n e/emplele anter!oare .Java auta de$!n!t!a metode! respe t!ve !n lasa o"!e tulu! % Da a nu o gaseste auta ma! sus !n !erar2!a de lase pana and gaseste o de$!n!t!e % Pro esul de A .p%pr!ntPersoana+. sunt argumentele metode! onstru tor % De e/emplu .oordI s! l!teralul 1 % SUPRAINCARCAREA METODELOR CONSTRUCTOR Ca s! metodele o"!snu!te onstru tor!! pot avea un numar d!$er!t de argumente sau t!pur! ale a estora % A easta ne perm!te sa ream un o"!e t u propr!etat!le dor!te sau o$era a estu!a pos!"!l!tatea de a*s! al ula propr!etat!le porn!nd de la date de !ntrare d!$er!te % De e/emplu .0 S3stem%out%Pr!ntln+.

va $! apelata vers!unea e/!stenta !n su" lasa s! nu pe ea d!n super lasa A$!sareDate % J .l!sta de argumente .dar sa a!"a un omportament d!$er!t la apelarea a estora % In a est a' . 5 A$!sareSu"Clasa4 o"!e t6ne: A$!sareSu"Clasa4+.. .mosten!re a metodelor ne perm!te sa de$!n!m s! sa $olos!m repetat metode !n su" lase $ara a $! nevo!e sa repl! am odul % Totus! pot e/!sta a'ur! and dor!m a un o"!e t sa raspunda a eloras! metode .0 8 pu"l! stat! vo!d ma!n+Str!ng argumente?@./ este .Java o auta !n super lasa s! o gaseste a olo pentru a o putea e/e uta % A easta metoda !nsa nu a$!sea'a s! var!a"!la de !nstanta ' % Sa ream o noua su" lasa are sa supras r!e metoda a$!sareDate+.su" lasa ont!ne s! var!a"!la ' ) lass A$!sareSu"Clasa e/tends A$!sareClasa 5 !nt '6C0 pu"l! stat! vo!d ma!n+Str!ng argumente?@.atun ! and metoda este apelata .%getName+.0 8 8 Cream !n ont!nuare s! o su" lasa a lase! de ma! sus .Sunt o !nstanta a lase! .0 o"!e t%a$!sareDate+. 5 A$!sareSu"Clasa o"!e t6ne: A$!sareSu"Clasa+.u o s!ngura d!$erenta .0 S3stem%out%pr!ntln+. 5 S3stem%out%pr!ntln+.0 S3stem%out%pr!ntln+.9t2!s%getClass+.Sunt o !nstanta a lase! .dupa !n!t!al!'area o"!e tulu! A$!sareSu"Clasa4 s! apelarea metode! a$!sareDate+. 5 S3stem%out%pr!ntln+.939= !ar ' este . ) lass A$!sareSu"Clasa4 e/tends A$!sareClasa 5 !nt '6C0 vo!d a$!sareDate+..metoda d!n su" lasa este gas!ta pr!ma s! e/e utata !n lo ul ele! d!n super lasa % CREAREA DE METODE CARE SUPRASCRIU METODE EHISTENTE Pentru a supras r!e o metoda .t!p valoare returnata .%getName+.0 8 8 A um .93.!n pra t! a tre"u!e sa ream o metoda u a eeas! semnatura + nume .9/9= s! 3 este .9'.0 8 8 Deoare e su" lasa nu de$!neste o metoda a$!sareDate+. a a metode! d!n super lasa % Ma! #os ream un e/emplu pentru a !lustra supra!n ar area une! metode ) lass A$!sareClasa 5 !nt /670 !nt 3670 vo!d a$!sareDate+./ este .de$!n!m !ntr*o su" lasa o metoda u a eeas! semnatura a a une! metode d!ntr*o super lasa % Ast$el .9/9= s! 3 este .9t2!s%getClass+.0 o"!e t%a$!sareDate+.metoda se poate supras r!e % Pentru a supras r!e o metoda .

5 KK od sursa super%metodaMea+a-".0 S3stem%out%pr!ntln+.0 8 Apo! .0 S3stem%out%pr!ntln+.0 S3stem%out%pr!ntln+.and supras r!em metoda a$!sareDate+.0 8 SUPRASCRIEREA CONSTRUCTORILOR D!n pun t de vedere te2n! onstru tor!! nu pot $! supras r!s! % Pentru a au totdeauna a elas! nume a al lase! urente .metodele onstru tor nu se mostenes ! se rea'a altele no! % A est s!stem este multum!tor !n marea ma#or!tate a a'ur!lor 0 atun ! and este apelata metoda onstru tor a lase! se apelea'a s! metoda onstru tor u a eeas! semnatura pentru toate super lasele % D!n a easta au'a !n!t!al!'area se $a e pentru toate part!le lase! pe are o mosten!m % L .H este .APELAREA METODEI ORI.ma! ales !n a'ur!le and se real!'ea'a a elas! t!p de a t!un! s! !n metoda or!g!nala s! !n ea are o supras r!e % Pr!n apelarea metode! or!g!nale !n adrul metode! de supras r!ere putem adauga numa! !nsus!rea supl!mentara % Pentru a apela metoda or!g!nala !n adrul metode! de supras r!ere $olos!m uvantul 2e!e super % In a est $el apelul metode! este trans$erat ma! sus !n adrul !erar2!e! de o"!e te ) vo!d metodaMea + Str!ng a .!nsa super re$era super lasa nu lasa urenta % Sa ne am!nt!m de ele doua metode a$!sareDate+.9t2!s%getClass+.0 KK od sursa 8 Cuvantul 2e!e super este asemanator uvantulu! 2e!e t2!s . 5 super%a$!sareDate+.I este .93.putem mod!$! a metoda super lase! ast$el !n at ulter!or sa se poata adauga u usur!nta o ara ter!st! a supl!mentara ) KK d!n A$!sareClasa vo!d a$!sareDate+. d!$er!te .Sunt o !nstanta a lase! .Str!ng " ..9'. !n su" lasa putem apela metoda or!g!nala s! adauga doar odul supl!mentar ) KK d!n A$!sareSu"Clasa4 vo!d a$!sareDate+.$olos!te anter!or % In lo sa op!em ma#or!tatea odulu! metode! super lase! !n su" lasa . 5 S3stem%out%pr!ntln+.9/.F este .%getName+.deoare e este o denum!re gener! a pentru super lasa lase! urente % Il putem $olos! or!unde am putea $olos! s! t2!s .INALE De o"! e! e/!sta doua mot!ve pentru are se $a e supras r!erea une! metode !mplementate de#a de o super lasa ) * * pentru a !nlo u! omplet de$!n!t!a metode! or!g!nale pentru a e/t!nde $un t!onal!tatea metode! or!g!nale In multe a'ur! pra t! e omportamentul metode! or!g!nale tre"u!e doar ompletat s! nu !nlo u!t de$!n!t!v .

% Deoare e metodele onstru tor nu au nume su" are pot $! apelate vom $olos! urmatoarea $orma ) super+arg1 . % Ret!nem a !n super lasa tre"u!e sa e/!ste un onstru tor u semnatura respe t!va pentru a apelul super+.C.0 S3stem%out%pr!ntln+. apelea'a metoda onstru tor pentru super lasa !med!at urmatoare + are la randul sau va apela onstru torul super lase! sale s! asa ma! departe .3 este . tre"u!e sa $!e pr!ma !nstru t!une nu putem $olos! un od de genul ) !$ + ond!t!e66true.0 t2!s%nume6nume0 8 pu"l! stat! vo!d ma!n+Str!ng argumente?@. super+1 . 5 Pun tCuNume pn6ne: Pun tCuNume+A-A-=Pun tulA=.9pn%/.e/pl! !t var!a"!lele / s! 3 e/!sta pos!"!l!tatea sa e/!ste s! alte lu rur! are s*ar !ntampla la !n!t!l!'area o"!e telor Po!nt 0 d!n a easta au'a este ma! "!ne sa apelam metodele onstru tor a$late deasupra !n !erar2!e pentru a $! s!gur! a totul se on$!gurea'a ore t % N .%%% .0 KK apelarea unu! onstru tor al super lase! else super+ 1 .Str!ng nume .0 S3stem%out%pr!ntln+.! s! pr!n mod!$! area ont!nutulu! var!a"!lelor de#a pre'ente % Pentru a easta vom apela e/pl! !t metodele onstru tor ale super lase! s! apo! vom mod!$! a var!a"!lele dor!te % Pentru a apela o metoda o"!snu!ta apart!nand super lase! vom $olos! s!nta/a super%numeMmetoda+l!staMargumente.arg4 . sa $un t!one'e % Comp!latorul Java ver!$! a a este lu rur! atun ! and !n er am sa omp!lam $!s!erul sursa % Nu tre"u!e sa apelam onstru torul d!n super lasa are are a eeas! semnatura u ea a onstru torulu! lase! noastre 0 tre"u!e doar sa apelam onstru torul pentru valor!le pe are dor!m sa le !n!t!al!'am % De $apt .0 8 8 Metoda onstru tor de$!n!ta a! ! pentru Pun tCuNume apelea'a metoda onstru tor a lase! Po!nt pentru a !n!t!al!'a var!a"!lele de !nstanta / s! 3 % C2!ar da a am putea !n!t!al!'a s! s!ngur! .super+%%%.4 . !ntr*o metoda onstru tor .0 Ret!nem a Java are o regula str! ta pentru $olos!rea metode! super+.atun ! and de$!n!m metode onstru tor pentru lasa noastra putem mod!$! a $elul !n are este !n!t!al!'at o"!e tul nu doar pr!n !n!t!al!'area no!lor var!a"!le adaugate lase! . 5 super+/-3.0 KK apelarea unu! alt onstru tor La $el a !n $olos!rea t2!s+%%%. $ara argumente % Deoare e apelarea super+.4 . e/pl! !t !n adrul onstru torulu! Java $a e a est lu ru !mpl! !t .0 S3stem%out%pr!ntln+./ este .Numele este .9pn%nume.!nt 3 .Totus! .$olos!nd super+.3 s! numele % !mport #ava%a:t%Po!n0 lass Pun tCuNume + !nt / .putem rea o lasa are are onstru tor! u semnatur! total d!$er!te de or! are d!ntre onstru tor!! super lase! % In e/emplul urmator vom pre'enta o lasa Pun tCuNume are e/t!nde lasa Po!nt a pa 2etulu! #ava%a:t % Clasa Po!nt are un s!ngur onstru tor are pre!a argumentele / s! 3 s! returnea'a un o"!e t Po!nt % Pun tCuNume ont!ne o var!a"!la de !nstanta supl!mentara s! de$!neste un onstru tor are !n!t!al!'ea'a / . ) a easta tre"u!e sa s!e pr!ma !nstru t!une $olos!ta !n adrul onstru torulu! % Da a nu apelam super+.9pn%3.

0 8 In adrul metode! $!nal!'e+. % Pentru a rea o metoda de $!nal!'are pentru propr!!le lase putem supras r!e metoda $!nal!'e+. t2ro:s T2ro:a"le 5 super%$!nal!'e+.are nu $a e n!m! + este v!da . putem spe !$! a toate a t!un!le de . $olos!nd semnatura ) prote ted vo!d $!nal!'e+. pentru a perm!te super lase! lase! noastre sa $!nal!'e'e o"!e tul da a este nevo!e % Putem apela metoda $!nal!'e+. % Clasa O"#e t de$!neste o metoda de $!nal!'are presta"!l!ta . or! and ( este o metoda a or! are alta % Totus! apelarea e! nu semnalea'a s!stemulu! d!strugerea o"!e tulu! s! re uperarea memor!e! o upate % Numa! stergerea tuturor re$er!ntelor la o"!e tul respe t!v du e la mar area lu! pentru d!strugere % Metodele de $!nal!'are sunt $olos!te de o"! e! pentru opt!m!'area d!struger!! unu! o"!e t ( de e/emplu pentru d!strugerea re$er!ntelor atre alte o"!e te % In marea ma#or!tate a a'ur!lor pra t! e nu este nevo!e se $olos!m delo metoda e/pl! !ta $!nal!'e+.METODE DE FINALIFARE Metodele de $!nal!'are sunt opusul metodelor onstru tor % O metoda onstru tor este $olos!ta pentru a !n!t!al!'a un o"!e t !ar metodele de $!nal!'are sunt apelate 2!ar !na!nte de d!strugerea o"!e tulu! s! re uperarea memor!e! o upate % Metoda de $!nal!'are este $!nal!'e+. uratare= pe are dor!m sa le real!'am !n legatura u o"!e tul % De asemenea putem apela super%$!nal!'e+. % O .

Sign up to vote on this title
UsefulNot useful