Professional Documents
Culture Documents
Orientação A Objetos - Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva
Orientação A Objetos - Aprenda Seus Conceitos e Suas Aplicabilidades de Forma Efetiva
&NNFNØSJBBPNFVBWÙ RVFGBMFDFVOPBVHFEFTFVTBOPT
EVSBOUFBFTDSJUBEFTUFMJWSP4BVEBEFT WPWÙ0TNVOEP
"HSBEFDJNFOUPNBJTFTQFDJBMBJOEBBPDPMFHB3ÏHJT1BUSJDL"MÏN
EFBDFJUBSPEFTBGJPEFFTDSFWFSPQSFGÈDJPEFTUFMJWSP FMFUBNCÏNGPJ
VN HSBOEF JODFUJWBEPS OB TVB FTDSJUB .VJUBT GPSBN BT DPOWFSTBT F
USPDBTEFJEFJBTQBSBRVFPPCKFUJWPGPTTFBMDBOÎBEPFTDSFWFSVNMJWSP
EF0SJFOUBÎBPB0CKFUPTRVFSFBMNFOUFFOTJOF0SJFOUBÎBPB0CKFUPT
.VJUPPCSJHBEPFRVFBGPSÎBFTUFKBDPOPTDP
13&'«$*0
"0SJFOUBÎÍPB 0CKFUPTFTUÈ OBTVBTFYUB EÏDBEB&OUSFUBOUP B
TVBQPQVMBSJ[BÎÍPTØBDPOUFDFVOBEÏDBEBEFDPNPTVSHJNFOUP
EFMJOHVBHFOTNBJTTPGJTUJDBEBTFNSFMBÎÍPB4JNVMBF4NBMMUBML
UBJT DPNP +BWB &OUÍP B QBSUJS EFTUF QFSÓPEP NVJUBT QFTRVJTBT
DPOHSFTTPT USBCBMIPT F TPGUXBSFT GPSBN DPOTUSVÓEPT VTBOEP FTUF
QBSBEJHNBEFEFTFOWPMWJNFOUPEFTPGUXBSF
&NDPOUSBQBSUJEBBFTUBQPQVMBSJEBEF IÈTFNQSFVNEFTBGJPFN
GB[FS VN EFTFOWPMWFEPS JOJDJBOUF BQSFOEFS FTUF QBSBEJHNB
/PSNBMNFOUF PTBTQJSBOUFTBQSPHSBNBEPSFTEFTVDFTTPBQSFOEFN
EF JOÓDJP P QBSBEJHNB FTUSVUVSBEP RVF Ï NFOPT DPNQMFYP FN
DPODFJUPT F Ï VNB BCPSEBHFN NBJT TJNQMJTUB EF QSPHSBNBÎÍP
&NCPSBFYJTUBFTUBEJGJDVMEBEFJOJDJBMOBWJTVBMJ[BÎÍPFBQMJDBÎÍPEPT
DPODFJUPTEB0SJFOUBÎÍPB0CKFUPT FTUFQBSBEJHNBUFOEFBTFSNBJT
OBUVSBM WJTUPRVF OPUSBCBMIPEFBVUPNBÎÍPEFQSPDFTTPTEPEJBB
EJB BNBOJQVMBÎÍPEFPCKFUPTOPNVOEPSFBMÏDPOTUBOUF TFKBNFMFT
DPODSFUPTPVBCTUSBUPT
$PNPJOÓDJPEBDBSSFJSBEFQSPGFTTPSVOJWFSTJUÈSJP KVOUBNFOUF
DPNPTBOPTEFFYQFSJÐODJBFNEFTFOWPMWJNFOUP 5IJBHPQFSDFCFVB
EJGJDVMEBEF EF TFVT BMVOPT F BUÏ NFTNP EF QSPGJTTJPOBJT DPN BOPT
EF QSPHSBNBÎÍP FN SFBMNFOUF DPNQSFFOEFS F BQMJDBS PT DPODFJUPT
EB0SJFOUBÎÍPB0CKFUPT&TUFTBMVOPTFQSPGJTTJPOBJTBUÏQSPHSBNBN
FN MJOHVBHFOT PSJFOUBEBT B PCKFUPT NBT TFNQSF GBMIBN FN BMHVN
QPOUP OB BQMJDBÎÍP EPT DPODFJUPT EF PCKFUPT DMBTTFT IFSBOÎB
FODBQTVMBNFOUPT F PVUSPT &MF UBNCÏN QFSDFCFV VNB GBMIB OB
MJUFSBUVSB RVF DPCSF CFN B QSPHSBNBÎÍP F B BOÈMJTF PSJFOUBEBT B
PCKFUPT NBT QFDBN OP RVF UBMWF[ TFKB P QSJNPSEJBM P FOTJOP EPT
DPODFJUPTCÈTJDPTEPQBSBEJHNB%FWJEPBJTUP FMFSFTPMWFVFTDSFWFS
FTUFMJWSP
&N WF[ EJTUP FTUF MJWSP UPSOB PT DPODFJUPT EB 0SJFOUBÎÍP B
0CKFUPTPDFOUSPEBTBUFOÎÜFT0SFTVMUBEPEFTUBNVEBOÎBEFGPDPÏ
RVF PT DPODFJUPT F TVBT BQMJDBCJMJEBEFT TÍP BQSFOEJEPT EF GPSNB
FGFUJWB 1BSB DPNQMFNFOUBS BT FYQMJDBÎÜFT TÍP EJTQPOJCJMJ[BEPT
FYFNQMPTEFDØEJHPTEFVNBBQMJDBÎÍPGJDUÓDJB QBSBBTTJNGBDJMJUBSP
FOUFOEJNFOUP F BTTJNJMBÎÍP 1BSB GJOBMJ[BS BMHVNBT CPBT QSÈUJDBT
TÍPMJTUBEBTQBSBPTJOJDJBOUFTOÍPDPNFUFSFNBMHVOTFSSPTDPNVOT
NBT RVF QPEFN DPCSBS VN QSFÎP NVJUP DBSP OP GVUVSP 5BNCÏN
TÍP BQSFTFOUBEPT BMHVOT QSØYJNPT QBTTPT OP DBNJOIP EP
BQSFOEJ[BEPEB00
1PS3ÏHJT1BUSJDL4JMWB4JNÍP
40#3&0"6503
0MÈQFTTPBM.FVOPNFÏ5IJBHP-FJUFF$BSWBMIP NBTTPVNBJT
DIBNBEP TØ EF 5IJBHP -FJUF "EPSP EFTFOWPMWJNFOUP F USBCBMIP
DPN JTUP IÈ BOPT %FTEF PT FTUÈHJPT OP UFNQP EF GBDVMEBEF BUÏ
IPKF KÈ USBCBMIFJ FN FNQSFTBT EF WÈSJPT SBNPT F UJQPT TPGUXBSF
IPVTF FNQSFTBT QÞCMJDBT FNQSFTBT OP SBNP EF TBÞEF JOEÞTUSJBT
FOUSF PVUSPT OJDIPT EF OFHØDJP 5BNCÏN KÈ QSFTUFJ BMHVNBT
DPOTVMUPSJBTGPDBEBTOPEFTFOWPMWJNFOUP
&TTFQVMBQVMBNFQSPQPSDJPOPVJNQPSUBOUFTFYQFSJÐODJBT RVF
NFGJ[FSBNBNBEVSFDFSQFTTPBMNFOUFFUBNCÏNQSPGJTTJPOBMNFOUF
4FOÍPGPTTFNUPEPTPTNPNFOUPTWJWJEPT UBMWF[FVOÍPGPTTFPRVF
TPV IPKF "HSBEFÎP B WÈSJPT DPMFHBT EF USBCBMIP F GBDVMEBEF QPS
BKVEBSFNBGPSNBSBQFTTPBFQSPGJTTJPOBMRVFTPV
'PJCBTFBEPOJTUPRVFEFDJEJFTDSFWFSFTUFMJWSP4FVQÞCMJDPBMWP
ÏBMVOPTRVFBDBCBSBNEFTBJSEBDBEFJSBEFMØHJDBEFQSPHSBNBÎÍP
PVBUÏNFTNPPTRVFQBTTBSBNQPSVNBDBEFJSBEF00 NBTTFOUFN
RVFBJOEBGBMUBBMHPBNBJT5BNCÏNQPEFNTFSVNCPNQÞCMJDP
QBSBFTUFMJWSPQSPGJTTJPOBJTRVFFTUÍPIÈNBJTUFNQPOPNFSDBEPEF
USBCBMIPFTØBHPSBFTUÍPUFOEPBPQPSUVOJEBEFPVOFDFTTJEBEFEFTF
BWFOUVSBSOB0SJFOUBÎÍPB0CKFUPT
&TUFMJWSPFTUÈFTUSVUVSBEPEBTFHVJOUFGPSNB
1SJNFJSPWBNPTUFSVNBSÈQJEBJOUSPEVÎÍPTPCSFPRVF
ÏFQPSRVFVTBNPTBQSPHSBNBÎÍP
%FQPJTWBNPTTBCFSBPSJHFNEB00
&NTFHVJEB WFSFNPTQPSRVFVTÈMB
"QØTJTTP PRVFB00OPTEJTQPOJCJMJ[B
5FOEPFNNÍPTBTGFSSBNFOUBT DPNPVTÈMBT
$PNPVTÈMBTEBNFMIPSGPSNB
&QPSGJN RVBJTOPWPTDBNJOIPTEFWFNTFSUSJMIBEPT
&TQFSP RVF B MFJUVSB TFKB BHSBEÈWFM F FOSJRVFDFEPSB 5SBCBMIFJ
DPN B BKVEB EB $BTB EP $ØEJHP EF GPSNB ÈSEVB QBSB FYQMJDBS EB
GPSNBNBJTBNJHÈWFMFJOTUJHBOUFPTDPODFJUPTEB00&TUFMJWSPÏB
SFBMJ[BÎÍPEFVNQSPKFUPRVFWJTBGPSOFDFSCBTFTTØMJEBTOPVTPEB
00 F MFWBS RVBMRVFS QSPKFUP F QSPGJTTJPOBM EF 5* F EP SBNP EF
EFTFOWPMWJNFOUP BPTVDFTTP"HSBEFÎPBFTDPMIBEFTUFMJWSP
.VJUPPCSJHBEPF
2VFBGPSÎBFTUFKBDPNWPDÐ0CJ8BO,FOPCJ
Casa do Código Sumário
4VNÈSJP
*OUSPEVÎÍP
6NCSFWFIJTUØSJDPEB0SJFOUBÎÍPB0CKFUPT
0DPODFJUPEF4JNVMBÎÍP
%B/PSVFHBQBSBPNVOEP
"OPWBSPVQBHFNEB0SJFOUBÎÍPB0CKFUPT
0RVFWFNQFMBGSFOUF
1PSRVFVTBSB0SJFOUBÎÍPB0CKFUPT
3FÞTP
$PFTÍP
"DPQMBNFOUP
(BQTFNÉOUJDP
3FTVNJOEP
*OUSPEVÎÍPB0SJFOUBÎÍPB0CKFUPT
%FGJOJÎÍP
0TGVOEBNFOUPT
3FTVNJOEP
0TDPODFJUPTFTUSVUVSBJT
"DMBTTF
0BUSJCVUP
Sumário Casa do Código
0NÏUPEP
0PCKFUP
0TUJQPTEFBUSJCVUPFNÏUPEP
"NFOTBHFN
1VUUJOHJUBMMUPHFUIFS
3FTVNJOEP
0TDPODFJUPTSFMBDJPOBJT
)FSBOÎB
"BTTPDJBÎÍP
"JOUFSGBDF
3FTVNJOEP
0TDPODFJUPTPSHBOJ[BDJPOBJT
1BDPUFT
7JTJCJMJEBEFT
3FTVNJOEP
"VUJMJ[BÎÍP
$PMPDBOEPBNÍPOBNBTTB
&TUBNPTRVBTFBDBCBOEP
#PBTQSÈUJDBTOPVTPEB0SJFOUBÎÍPB0CKFUPT
#1TFQSFPDVQFDPNBDPFTÍPFBDPQMBNFOUP
#1VTFTUSJOHTDPNQBSDJNÙOJB
#1TFKBPCKFUJWP OÍPUFOUFQSFWFSPGVUVSP
#1DSJFTFVTNÏUPEPTDPNDBSJOIP
#1DPOIFÎBFVTFDPMFÎÜFT
#1TPCSFTDSFWBFRVBMT IBTI$PEFFUP4USJOH
#1ËTWF[FTÏNFMIPSBTTPDJBSFNWF[EFIFSEBS
#1TFGPSPDBTP FWJUFBIFSBOÎBPV QFMPNFOPT B
TPCSFTDSJUB
Casa do Código Sumário
#1TFQSFPDVQFDPNPFODBQTVMBNFOUP
#1TBJCBVTBSJOUFSGBDFFDMBTTFBCTUSBUBOPNPNFOUPDFSUP
#1VTFFBCVTFEBTGBDJMJEBEFTGPSOFDJEBTQPS
MJOHVBHFOTPSJFOUBEBTBPCKFUPT
#1DPOIFÎBFVUJMJ[FBTDPOWFOÎÜFTEFDPEJGJDBÎÍPEB
MJOHVBHFNFTDPMIJEB
'JOBMNFOUFBDBCPV
0RVFWFNEFQPJTEB0SJFOUBÎÍPB0CKFUP
1BESÜFTEFQSPKFUP %FTJHO1BUUFSOT
3FGBUPSBÎÍP
6.-6OJGJFE.PEFMJOH-BOHVBHF -JOHVBHFNEF
.PEFMBHFN6OJGJDBEB
0SJFOUBÎÍPBBTQFDUPT
'SBNFXPSLT
0VUSBTDPJTBTBNBJT
3FGFSÐODJBTCJCMJPHSÈGJDBT
CAPÍTULO 1
*/530%6±°0
1 INTRODUÇÃO 1
&OUSFUBOUP OFN TFNQSF GPJ BTTJN /PT QSJNØSEJPT EB
DPNQVUBÎÍP FSB OFDFTTÈSJP VTBS DØEJHP EF NÈRVJOB QBSB
QSPHSBNBS P RVF FSB DIBNBEP EF MJOHVBHFN EF CBJYP OÓWFM &TUB
VTBWB DBSUÜFT QFSGVSBEPT QBSB DPOWFSTBS DPN P DPNQVUBEPS &TTF
UJQPEFEJÈMPHPFSBQSPQÓDJPBFSSPT RVFUFSNJOBWBNQPSNJOBSB
QSPEVUJWJEBEF F BUÏ NFTNP B WPOUBEF EF TF USBCBMIBS DPN
DPNQVUBEPSFT
6NBEBTHSBOEFTWBOUBHFOTEPTVSHJNFOUPEFMJOHVBHFOTEFBMUP
OÓWFM FN SFMBÎÍP B VNB MJOHVBHFN EF CBJYP OÓWFM Ï P QSPDFTTP
DIBNBEP EF UFNQP EF DPNQJMBÎÍP 2VBOEP FYJTUJBN BQFOBT
MJOHVBHFOT EF CBJYP OÓWFM RVF VTBWBN PT DBSUÜFT BOUFSJPSNFOUF
DJUBEPTQBSBGB[FSBFOUSBEBEFEBEPTOPDPNQVUBEPS PQSPDFTTPEF
QSPHSBNBÎÍP FSB NVJUP BSUFTBOBM QSBUJDBNFOUF VN QSPDFTTP EF
UFOUBUJWB F FSSP &OUÍP BT GBMIBT EPT QSPHSBNBT TØ QPEFSJBN TFS
WFSJGJDBEBT OP RVF TF DIBNB EF UFNQP EF FYFDVÎÍP PV TFKB OP
UFNQP FN RVF P QSPHSBNB SFBMNFOUF Ï QSPDFTTBEP QFMB $16 EP
DPNQVUBEPS
2 1 INTRODUÇÃO
'JHVSB1SPDFTTPEFDPNQJMBÎÍPFFYFDVÎÍPEFVNQSPHSBNB
&YJTUFNEJWFSTBTMJOHVBHFOTEFQSPHSBNBÎÍPFDBEBVNBQPTTVJ
QFDVMJBSJEBEFTEFBDPSEPDPNPQBSBEJHNBEFQSPHSBNBÎÍPRVFFTUB
JNQMFNFOUB &TTF QBSBEJHNB SFHF P NPEP DPNP P QSPHSBNBEPS
FYQSFTTBSÈ PT QBTTPT BMHPSJUNP EP QSPDFTTP RVF EFTFKB
BVUPNBUJ[BS ² BUSBWÏT EFTUFT QBTTPT F TFHVJOEP BT OPSNBT EP
QBSBEJHNB VTBEP RVF P QSPHSBNBEPS FYQSFTTBSÈ B GPSNB DPNP P
QSPHSBNBEFWFSÈFYFDVUBSQBSBBUJOHJSPPCKFUJWPBMNFKBEP
$BEBQBSBEJHNBQSPQÜFVNBWJTÍP VNNPEPRVFQPTTJCJMJUBBP
QSPHSBNBEPS EJ[FS DPNP P QSPHSBNB EFWF TF DPNQPSUBS 1PSÏN
JOEFQFOEFOUFNFOUF EFTUF NPEP VN DPODFJUP CÈTJDP Ï DPNVN B
FTTBT MJOHVBHFOT B QSPHSBNBÎÍP JNQFSBUJWB &TUB GPJ EFGJOJEB QPS
+PIO WPO /FVNBOO F QSFDPOJ[B RVF TF EFWF EBS PSEFOT BP
1 INTRODUÇÃO 3
DPNQVUBEPS PVTFKB EFGJOJSEFGPSNBCFNGPSNBMJ[BEBFTFRVFODJBM
PT QBTTPT B TFSFN DVNQSJEPT F BTTJN DPOTFHVJS DPEJGJDBS VN
BMHPSJUNP &TUF QSJODÓQJP GPJ EFGFOEJEP QPS FMF QBSB QPTTJCJMJUBS B
DSJBÎÍP EF MJOHVBHFOT EF QSPHSBNBÎÍP EF BMUP OÓWFM DPNP KÈ
UJOIBTJEPEJUPBOUFSJPSNFOUFRVFTFBTTFNFMIBTTFNBMJOHVBHFOT
OBUVSBJT QBSBBTTJNGBDJMJUBSTVBVTBCJMJEBEF
4 1 INTRODUÇÃO
0 1BSBEJHNB 0SJFOUBEP B 0CKFUP 100 UFN DPNP QSJODJQBM
DBSBDUFSÓTUJDBVNBNFMIPSFNBJPSFYQSFTTJWJEBEFEBTOFDFTTJEBEFT
EP OPTTP EJB B EJB $PNP TFSÈ WJTUP NBJT BEJBOUF OP MJWSP FMF
QPTTJCJMJUBDSJBSVOJEBEFTEFDØEJHPNBJTQSØYJNBTEBGPSNBDPNP
QFOTBNPTFBHJNPT BTTJNGBDJMJUBOEPPQSPDFTTPEFUSBOTGPSNBÎÍP
EBTOFDFTTJEBEFTEJÈSJBTQBSBVNBMJOHVBHFNPSJFOUBEBBPCKFUPT
%ÈTFPOPNFEF1SPHSBNBÎÍP0SJFOUBEBB0CKFUPBPQSPDFTTP
EF VTBS VNB MJOHVBHFN PSJFOUBEB B PCKFUP 1FSDFCFTF RVF B TJHMB
100UFSNJOBTFGVOEJOEPFOUSFPQBSBEJHNBFBQSPHSBNBÎÍP/P
EFDPSSFS EP MJWSP TFSÍP FYQMJDBEPT UPEPT PT TFVT DPODFJUPT F
WFSFNPTDPNPB0SJFOUBÎÍPB0CKFUPT 00 USBCBMIBQBSBBUJOHJSPT
PCKFUJWPTBRVBMTFQSPQÜF
#PBMFJUVSB
1 INTRODUÇÃO 5
CAPÍTULO 2
6.#3&7&)*45»3*$0%"
03*&/5"±°0"0#+&504
"EÏDBEBÏ"DPNQVUBÎÍPDPNPBDPOIFDFNPTIPKFBJOEB
ÏVNTPOIP0TDPNQVUBEPSFTTÍPNÈRVJOBTHJHBOUFTDBTFEFQPVDB
DBQBDJEBEFEFQSPDFTTBNFOUPFBSNB[FOBNFOUP NBTNFTNPBTTJN
KÈ DPNFÎBWBN B DVNQSJS B TVB QSJODJQBM SB[ÍP EF FYJTUÐODJB
BVUPNBUJ[BSOPTTPEJBBEJB1BSBBUJOHJSFTUFPCKFUJWP FSBQSFDJTP
FIPKFBJOEBÏJOGPSNBSBPDPNQVUBEPSPRVFFDPNPFMFEFWFSJB
FYFDVUBSBTBUJWJEBEFT1PSÏN OFTUFQFSÓPEPBTGPSNBTEFFYQSFTTBS
FTTBT EFNBOEBT BJOEB FTUBWBN FOHBUJOIBOEP .BT KÈ TVSHJB B
UÏDOJDBRVFGVUVSBNFOUFTFUPSOBSJBBNBJTVUJMJ[BEBB0SJFOUBÎÍPB
0CKFUPT
0$0/$&*50%&4*.6-"±°0
0QSJODJQBMJOTVNPQBSBB0SJFOUBÎÍPB0CKFUPTEBGPSNBDPNP
FMBÏDPOIFDJEBIPKFGPJPDPODFJUPEF4JNVMBÎÍP RVFOPNVOEPEB
DPNQVUBÎÍPTJHOJGJDBTJNVMBS PTFWFOUPT EPEJBB EJBFN TJTUFNBT
EJHJUBJT " GPSNBMJ[BÎÍP EB UFPSJB EB TJNVMBÎÍP QBSB TJTUFNBT
EJHJUBJT DPNQVUBEPSFT ÏDSFEJUBEBB,FJUI5PDIFS FN5IF
"SUPG4JNVMBUJPO/FTUFUSBCBMIP FMFVTBNPEFMPTNBUFNÈUJDPTKÈ
TBCFNPT RVF DPNQVUBEPSFT TÍP ØUJNPT DPN OÞNFSPT QBSB
EFTDSFWFS DPNP PT DPNQVUBEPSFT QPEFSJBN DPNQSFFOEFS B MØHJDB
EF TJNVMBÎÍP EF FWFOUPT EJÈSJPT "MÏN EB EFGJOJÎÍP BOUFSJPSNFOUF
DJUBEB ÏGFJUBVNBDMBTTJGJDBÎÍPFNUJQPTEFTJNVMBÎÍP /"/$&
.POUF$BSMP4JNVMBUJPO6TBNPEFMPTEFJODFSUF[B
FN RVF B SFQSFTFOUBÎÍP EF UFNQP OÍP Ï OFDFTTÈSJB
6NBNFMIPSEFGJOJÎÍPÏVNQSPDFTTPPOEFBTPMVÎÍPÏ
BUJOHJEB BUSBWÏT EF UFOUBUJWB F FSSP F UBM TPMVÎÍP TF
BQMJDBSÈTPNFOUFBPQSPCMFNBFTQFDÓGJDP
%"/036&("1"3"0.6/%0
"MÏN EF UPEBT BT MFOEBT NJUPMPHJBT EB &SB 7JLJOH F EP B)B
VNBSFHJÍPEB&TDBOEJOÈWJB NBJTQSFDJTBNFOUFB/PSVFHB EFJYPV
VN PVUSP HSBOEF MFHBEP B 0SJFOUBÎÍP B 0CKFUPT &SB F OP
$FOUSP/PSVFHVÐTEF$PNQVUBÎÍP /PSXFHJBO$PNQVUJOH$FOUFS
/$$ EB 6OJWFSTJEBEF EF 0TMP IBWJB EPJT QFTRVJTBEPSFT RVF
BDFJUBSBNPQSPKFUP EFTBGJP EFDSJBSVNBMJOHVBHFNEFTJNVMBÎÍP
EFFWFOUPTEJTDSFUPTEJTDSFUFFWFOUTJNVMBUJPO&MFTFSBN,SJTUFO
"TDPOUSJCVJÎÜFTUÏDOJDBTEF4*.6-"TÍPJNQSFTTJPOBOUFT RVBTF
JODSÓWFJT%BIMF/ZHBBSE FNTVBUFOUBUJWBEFDSJBSVNBMJOHVBHFN
POEF PT PCKFUPT EP NVOEP SFBM TFSJBN EF GPSNB QSFDJTB F
OBUVSBMNFOUF EFTDSJUPT BQSFTFOUPV BWBOÎPT DPODFJUVBJT RVF TF
UPSOBSJBN SFBMJEBEF TPNFOUF RVBTF EVBT EÏDBEBT NBJT UBSEF UJQP
BCTUSBUP EF EBEPT P DPODFJUP EF DMBTTF IFSBOÎB P DPODFJUP EF
DPSPUJOB NÏUPEP <> B DSJBÎÍP FYDMVTÍP F PQFSBÎÜFT EF
NBOJQVMBÎÍPFNPCKFUPTTÍPBQFOBTVNFYFNQMP
6NEPTDPODFJUPTCBTFTOBDSJBÎÍPEF4*.6-"*F4*.6-"
GPJ EF RVF B OPWB MJOHVBHFN EFWFSJB TFS PSJFOUBEB B QSPCMFNBT F
OÍP PSJFOUBEB B DPNQVUBEPSFT *TTP JNQMJDPV VN BVNFOUP EB
FYQSFTTJWJEBEF F GBDJMJEBEF EF VTP EB MJOHVBHFN 4*.6-" * GPJ
JOJDJBMNFOUF CBTFBEB FN '0353"/ P RVF JOGFMJ[NFOUF TF
DPOGJHVSPVFNVNBNÈEFDJTÍPEFQSPKFUP'0353"/QPTTVÓBVNB
FTUSVUVSB EF CMPDP RVF OÍP QPTTJCJMJUBWB B FYQSFTTJWJEBEF FTTFODJBM
QBSB B BCPSEBHFN EFTFKBEB QPS FMFT 'PJ B QBSUJS EFTTB EFGJDJÐODJB
RVF 4*.6-" RVF TF CBTFPV FN "-(0 QPS QPTTVJS VNB
FTUSVUVSBEFCMPDPTFEBEPTNBJTBNJHÈWFM GPJMBOÎBEB
'JHVSB/ZHBBSEF%BIM
.ÍPTËPCSB
10326&64"3"
03*&/5"±°0"0#+&504
$PNPKÈUJOIBTJEPWJTUPOPDBQÓUVMP*OUSPEVÎÍP PQBSBEJHNB
FTUSVUVSBEP GPJ P QSFEFDFTTPS EP PSJFOUBEP B PCKFUPT 'PJ WJTUB
UBNCÏN VNB FYQMJDBÎÍP SÈQJEB F CÈTJDB TPCSF P QPSRVÐ EF TVB
HSBOEF BDFJUBÎÍP "MÏN EP RVF KÈ GPJ DJUBEP IÈ BJOEB VNB PVUSB
DBSBDUFSÓTUJDB UBMWF[ GJMPTØGJDB TPCSF FTUF QBSBEJHNB EF
QSPHSBNBÎÍP &MF EFGFOEF RVF Ï QPTTÓWFM SFQSFTFOUBS UPEP F
RVBMRVFSQSPDFTTPEPNVOEPSFBMBQBSUJSEBVUJMJ[BÎÍPEF BQFOBT
USÐTFTUSVUVSBTCÈTJDBT
4FRVÐODJB0TQBTTPTEFWFNTFSFYFDVUBEPTVNBQØT
P PVUSP MJOFBSNFOUF 0V TFKB P QSPHSBNB TFSJB VNB
TFRVÐODJBGJOJUBEFQBTTPT&NVNBVOJEBEFEFDØEJHP
UPEPT PT QBTTPT EFWFN TFS GFJUPT QBSB TF QSPHSBNBS P
BMHPSJUNPEFTFKBEP
& TF B OFDFTTJEBEF BHPSB GPS VN DPOUSPMF EF FTUPRVF 6NB
BQMJDBÎÍP EFTUF UJQP NBOJQVMBSÈ DPODFJUPT DPNP QSPEVUP WFOEB
FTUPRVF DMJFOUF FUD &TUF UFSÈ PQFSBÎÜFT DPNP WFOEFS DPNQSBS
BUVBMJ[BS FTUPRVF DBEBTUSBS QSPEVUP DBEBTUSBS DMJFOUF FUD -PHP
OPUBTF RVF JTTP MFWBSÈ B VN FNBSBOIBEP EF DØEJHP NVJUBT WF[FT
NVJUP FYUFOTP F QSPQÓDJP Ë EVQMJDBÎÍP 1BSB UFOUBS BNFOJ[BS FTTB
TJUVBÎÍP QPEFNPT SFDPSSFS B NPEVMBSJ[BÎÜFT RVF FTTBT MJOHVBHFOT
QSPWFFN.BTPDØEJHPDPNFÎBSÈBGJDBSNBJTDPNQMFYP
'JHVSB1SPHSBNBÎÍPFTUSVUVSBEBY1SPHSBNBÎÍPPSJFOUBEBBPCKFUP
" QBSUJS EF UVEP P RVF GPJ FYQPTUP WFSJGJDBTF RVF FTUB
TJNQMJDJEBEF DVMNJOB FN BMHVNBT EJGJDVMEBEFT UBMWF[ BUÏ
EFGJDJÐODJBT RVF QPEFN POFSBS UPSOBS NBJT DPNQMFYP TFS NBJT
QSPQFOTP Ë HFSBÎÍP EF FSSPT OP QSPDFTTP EF EFTFOWPMWJNFOUP "
TFHVJS TFSÍP BQSFTFOUBEBT RVBJT TÍP FTTBT EFGJDJÐODJBT F EF GPSNB
JOUSPEVUØSJB DPNPB00QSPWÐBTPMVÎÍPQBSBFMBT
3&Á40
2VBOEP OPT SFGFSJNPT B FTUF BTTVOUP MPHP OPUBNPT RVF EVBT
DPJTBT QPEFN TFS SFVUJMJ[BEBT FN MJOHVBHFOT EF QSPHSBNBÎÍP
DPNQPSUBNFOUPT OP DBTP PQFSBÎÜFT TFSWJÎPT BÎÜFT F
JOGPSNBÎÜFT OP DBTP EBEPT DBSBDUFSÓTUJDBT *OJDJBMNFOUF
QFOTBNPT RVF P SFÞTP EF DØEJHP OÍP Ï QPTTÓWFM FN MJOHVBHFOT
FTUSVUVSBEBT EFWJEP Ë BVTÐODJB EP DPODFJUP EF IFSBOÎB /PT
DBQÓUVMPT F TFSÍP WJTUPT FTUF F NBJT PVUSPT DPODFJUPT EB
0SJFOUBÎÍPB0CKFUPT
14 3.1 REÚSO
1PSÏN Ï QPTTÓWFM BUJOHJSTF SFÞTP TFN B 00 NBT B RVFTUÍP Ï
DPNPVNBMJOHVBHFNFTUSVUVSBEBQPTTJCJMJUBJTTP 1BSBJMVTUSBSVN
QPVDP TPCSF FTUF BTTVOUP TFSÈ BQSFTFOUBEP VN FYFNQMP FN C
VNB MJOHVBHFN QFSUFODFOUF BP QBSBEJHNB FTUSVUVSBEP F
BNQMBNFOUFDPOIFDJEBFVTBEB
3FVUJMJ[BOEPEBEPT
*OJDJBOEP DPN P SFBQSPWFJUBNFOUP EF JOGPSNBÎÜFT OP DBTP
EBEPT FN C QPEFNPT USBCBMIBS DPN UJQPT EF JOGPSNBÎÜFT
WBSJÈWFJT HMPCBJT F MPDBJT /FTUF DBTP BQFOBT BT WBSJÈWFJT HMPCBJT
TFSÍP BOBMJTBEBT QPJT BT WBSJÈWFJT MPDBJT UÐN VN FTDPQP NVJUP
MJNJUBEP RVFÏBGVOÎÍPËRVBMQFSUFODF"QBSUJSEJTUP QFSDFCFTF
RVFOÍPÏQPTTÓWFMSFVTÈMBT
7PMUBOEP BT WBSJÈWFJT HMPCBJT MPHP EF JOÓDJP KÈ TF QFSDFCF VNB
MJNJUBÎÍPTFGPSBNEFGJOJEBTBQFOBTWBSJÈWFJTHMPCBJT UBNCÏNOÍP
TFBUJOHJSÈPSFÞTP QPJTFMBTFTUÍPEFGJOJEBTTFQBSBEBNFOUFEFOUSP
EPDØEJHPFTÍPVTBEBTEFGPSNBEFTBTTPDJBEBT
%FTTBGPSNB WFNPTBOFDFTTJEBEFEFVUJMJ[BSVNBFTUSVUVSBQBSB
VOJS FTUBT JOGPSNBÎÜFT RVF UÐN VN DFSUP SFMBDJPOBNFOUP F
SFQSFTFOUBNVNDPODFJUPBTFSQSPHSBNBEPP struct 4ØDPNP
TFV VTP TFSÈ QPTTÓWFM BHMVUJOBS BT JOGPSNBÎÜFT TFNFMIBOUFT QBSB
BTTJNJOJDJBSNPTVNQSPDFTTPEFSFÞTP"TFHVJS WFKBPDØEJHPFN
C RVFFYFNQMJGJDBPSFÞTPEFEBEPTDPN strutc
typedef struct {
double valor;
} Pagamento;
typedef struct {
Pagamento pagamento;
double desconto;
} Debito;
typedef struct {
Pagamento pagamento;
3.1 REÚSO 15
int parcelas;
float juros;
} Credito;
typedef struct {
char[50] nome;
char[11] cpf;
Debito debito;
Cretido credito;
} Cliente;
"DPEJGJDBÎÍPBOUFSJPSEFNPTUSBVNBTJUVBÎÍPEPNVOEPSFBMEF
VNTJNQMFTTJTUFNBEFWFOEBT FNRVFVN Cliente QPEFQPTTVJS
EPJTUJQPTEFQBHBNFOUP Debito F Credito " OFDFTTJEBEF EF
SFÞTPFODPOUSBTFOPTUJQPTEFQBHBNFOUP2VBOEPPQBHBNFOUPÏB
WJTUB EÏCJUP QPEFNPT UFS VN EFTDPOUP F RVBOEP Ï B QSB[P
DSÏEJUP UFNPTBRVBOUJEBEFEFQBSDFMBTFQPTTÓWFJTKVSPT
$PNPQBTTBSEPUFNQP FMFTQPEFNGJDBSDIFJPTEFSFEFGJOJÎÜFT
DBEB WF[ NBJT QSPQÓDJPT B FSSPT EF FTRVFDJNFOUP EF SFEFGJOJÎÜFT
1FOTF TF GPTTF OFDFTTÈSJP BHPSB UFSNPT UJQPT EF DMJFOUFT 1FTTPB
'ÓTJDB F 1FTTPB +VSÓEJDB TFSJB OFDFTTÈSJP NBJT VNB WF[ UFSNPT
TUSVDUT EFOUSP EF TUSVDUT PV TFKB NBJT QPTTÓWFJT QPOUPT EF GBMIBT
1PEFSÓBNPT BUÏ BQFMBS QBSB VN ctrl+c ctrl+v QBSB FWJUBS
PNJTTÜFT NBTNFTNPBTTJNÏQPTTÓWFMQFSDFCFSRVFÏVNQSPDFTTP
16 3.1 REÚSO
BSDBJDP RVF QPEF TF UPSOBS DPNQMFYP F DBEB WF[ NBJT QSPQÓDJP B
GBMIBT
3FVUJMJ[BOEPDPNQPSUBNFOUPT
"HPSB Ï B WF[ EF GBMBS TPCSF P SFBQSPWFJUBNFOUP EF
DPNQPSUBNFOUPT OP DBTP PQFSBÎÜFT TFSWJÎPT BÎÜFT &N C
RVBOEPÏOFDFTTÈSJPSFVTBSPQFSBÎÜFT QPEFNPTVUJMJ[BSPDPODFJUP
EF GVOÎÜFT &TUBT DSJBN QPSÎÜFT EF DØEJHP TVCSPUJOBT RVF TÍP
EFGJOJEBT EF GPSNB TFQBSBEBT EFOUSP EB VOJEBEF EF DØEJHP
QSJODJQBM $PN JTTP FWJUBTF B SFQFUJÎÍP EF VNB EFUFSNJOBEB
TFRVÐODJB EF QBTTPT EJWFSTBT WF[FT QPEFOEP BTTJN DIBNÈMB FN
WÈSJPTMPDBJTEBVOJEBEFEFDØEJHPQSJODJQBM
.BT F TF GPS OFDFTTÈSJP RVF FTUB QPSÎÍP EF DØEJHP GPTTF VTBEB
FNPVUSBVOJEBEFEFDØEJHP $PNPÏEFDPOIFDJNFOUP BJEFJBEF
C Ï RVF OP DIBNBEP .PEVMP 1SJODJQBM VOJEBEF EF DØEJHP OB
RVBM B BQMJDBÎÍP JOJDJB TVB FYFDVÎÍP UVEP TFKB GFJUP QBSB RVF P
QSPHSBNB BUJOKB TFV PCKFUJWP &OUÍP TF GPS OFDFTTÈSJP SFBQSPWFJUBS
VNBQPSÎÍPEFDØEJHPFNPVUSP.PEVMP1SJODJQBM OÍPTFSÈQPTTÓWFM
EFBUJOHJSFTUFPCKFUJWPBQFOBTDPNPVTPEFGVOÎÜFT KÈRVFFMBTTF
MJNJUBNËVOJEBEFEFDØEJHPFNRVFTÍPEFGJOJEBT
.BT NBJT VNB WF[ B TJUVBÎÍP FN RVF Ï OFDFTTÈSJP DSJBS VNB
HSBOEF RVBOUJEBEF EF FTUSVUVSBT QBSB TVQSJS VNB OFDFTTJEBEF
TFOEP QSPQFOTBT B HFSBS QPOUPT EF GBMIBT WFN Ë UPOB "TTJN
DPOTUBOUFNFOUF Ï QSFDJTP MFNCSBS EF GB[FS PT JODMVEFT EPT
headers PV NØEVMPT /PWBNFOUF QPEFNPT BQFMBS QBSB VN
3.1 REÚSO 17
ctrl+c ctrl+v QBSB FWJUBS PNJTTÜFT NBT NFTNP BTTJN TFSÈ
SFBMJ[BEPVNQSPDFTTPBSDBJDP RVFQPEFTFUPSOBSDPNQMFYPFDBEB
WF[NBJTQSPQÓDJPBGBMIBT
$0&4°0
&TUF QSJODÓQJP QSFDPOJ[B RVF DBEB VOJEBEF EF DØEJHP EFWF TFS
SFTQPOTÈWFMTPNFOUFQPSQPTTVJSJOGPSNBÎÜFTFFYFDVUBSUBSFGBTRVF
EJ[FNSFTQFJUPTPNFOUFBPDPODFJUPRVFFMBQSFUFOEFSFQSFTFOUBS"
JEFJB QPS EFUSÈT EB DPFTÍP Ï OÍP NJTUVSBS SFTQPOTBCJMJEBEFT QBSB
FWJUBS RVF B VOJEBEF EF DØEJHP GJRVF TPCSFDBSSFHBEB DPN EBEPT F
UBSFGBTRVFOÍPMIFEJ[FNSFTQFJUP
6NBBQMJDBÎÍPRVFWJTFSFQSFTFOUBSVNDPOUSPMFEFFTUPRVFTFSÈ
DPOTUJUVÓEB EF VN .ØEVMP 1SJODJQBM RVF DPN DFSUF[B UFSÈ
DFOUFOBT UBMWF[NJMIBSFT EFMJOIBTEFDØEJHPQBSBDPOTFHVJSDPCSJS
UPEBT BT OFDFTTJEBEFT QBSB SFBMJ[BS B UBSFGB F SFQSFTFOUBS PT
18 3.2 COESÃO
DPODFJUPT QPS EFUSÈT EF VN TJTUFNB DPNQMFYP DPNP FTUF
*OFWJUBWFMNFOUF FTUBSÍPNJTUVSBEPT structs QBSBSFQSFTFOUBS
PTDPODFJUPTEFQSPEVUP WFOEB DMJFOUF GPSOFDFEPSFUDFGVOÎÜFT
QBSBFYFDVUBSUBSFGBTEFWFOEFS DPNQSBS DBMDVMBSJNQPTUPT EBS
CBJYBOPFTUPRVFFUD*TUPNBJTVNBWF[MFWBBHSBWFTQSPCMFNBTFN
NBOVUFOÎÜFTDPSSFUJWBTPVFWPMVUJWBTEPDØEJHP BMÏNEFEJGJDVMUBS
EFGPSNBFYUSFNBTVBMFHJCJMJEBEFFFOUFOEJNFOUP
"$01-".&/50
4F GPS SFBMJ[BEB VNB QFTRVJTB OB JOUFSOFU TPCSF P RVF Ï FTUF
UFSNP TFSÍP FODPOUSBEBT BMHVNBT EFGJOJÎÜFT RVF RVBOEP
3.3 ACOPLAMENTO 19
DPOEFOTBEBT EJSÍP RVF "DPQMBNFOUP Ï VNB DPOFYÍP VOJÍP PV
MJHBÎÍPFOUSFEPJTPVNBJTDPSQPT GPSNBOEPVNÞOJDPDPOKVOUP1BSB
B DPNQVUBÎÍP BDPQMBNFOUP Ï P OÓWFM EF JOUFSEFQFOEÐODJB FOUSF PT
DØEJHPTEFVNQSPHSBNBEFDPNQVUBEPS
20 3.3 ACOPLAMENTO
EJTUP WFSJGJDBNPT RVF FTUF SFMBDJPOBNFOUP ÓOUJNP Ï JNQPSUBOUF
NBTEFWFTFSNVJUPCFNEPTBEPQBSBOÍPHFSBSDØEJHPTEJGÓDFJTEF
TFSFNNBOUJEPT
" RVFTUÍP FOUÍP Ï DPNP GBDJMJUBS JTTP .BJT VNB WF[ PT
DPODFJUPTEFDMBTTFFBTTPDJBÎÍPQPEFNTFSVUJMJ[BEPTQBSBGBDJMJUBSP
VTPEFBDPQMBNFOUP"PVTBSPDPODFJUPEFDMBTTF DPOTFHVFTFDSJBS
VOJEBEFT EF DØEJHPT NBJT BVUPDPOUJEBT F DPFTBT " QBSUJS EJTUP P
BDPQMBNFOUP FOUSF FMBT UPSOBTF NBJT BMUP OÓWFM EP RVF FOUSF
QPSÎÜFT EF DØEJHP DPNP GVOÎÜFT headers FUD $POTFHVJS DSJBS
BQMJDBÎÜFTDPNVNBCPBDPFTÍPFBDPQMBNFOUPÏVNEPTEFTBGJPTEB
00 F P VTP EF UÏDOJDBT EF QSPHSBNBÎÍP TFSÍP FYQMJDBEPT NBJT
BEJBOUF QBSBBTTJNTFBUJOHJSUBMPCKFUJWP
("14&.¬/5*$0
5BNCÏNDIBNBEPEF'PTTP4FNÉOUJDP FTUFUFSNPDBSBDUFSJ[BB
EJGFSFOÎB FYJTUFOUF FOUSF EVBT SFQSFTFOUBÎÜFT EF DPODFJUPT QPS
EJGFSFOUFTSFQSFTFOUBÎÜFTMJOHVÓTUJDBT/PDPOUFYUPEBDPNQVUBÎÍP
SFGFSFTF Ë EJGFSFOÎB FOUSF B SFQSFTFOUBÎÍP EF VN DPOUFYUP EP
DPOIFDJNFOUP FN MJOHVBHFOT QBSBEJHNBT EF QSPHSBNBÎÍP /P
DBTP EFTUF MJWSP FTUÈ TFOEP EFNPOTUSBEP P HBQ FOUSF P QBSBEJHNB
FTUSVUVSBEPFPPSJFOUBEPBPCKFUPT
3&46.*/%0
" QBSUJS EFTTBT FYQMBOBÎÜFT WFSJGJDBNPT RVF P QBSBEJHNB
FTUSVUVSBEP GPDB EFNBTJBEBNFOUF OB DSJBÎÍP EF DØEJHP RVF TF
QSFPDVQBNBJTOPDPNPGB[FSBMHPEPRVFOPRVFEFWFTFSGFJUP
*TTP PDPSSF EFWJEP B VNB FTUSVUVSBÎÍP MJNJUBEB RVF UFSNJOB
MFWBOEPNBJTFNDPOTJEFSBÎÍPBNBOJQVMBÎÍPEBJOGPSNBÎÍPEPRVF
BTVBSFQSFTFOUBÎÍP
22 3.5 RESUMINDO
CAPÍTULO 4
*/530%6±°0"
03*&/5"±°0"0#+&504
%&'*/*±°0
&NCPSBOÍPTFKBVNBSFGFSÐODJBNVJUPQSPGJTTJPOBM B8JLJQÏEJB
UFNVNBEFGJOJÎÍPNVJUPJOUFSFTTBOUFTPCSFB0SJFOUBÎÍPB0CKFUP
" 0SJFOUBÎÍP B 0CKFUPT Ï VN QBSBEJHNB EF BOÈMJTF QSPKFUP F
QSPHSBNBÎÍP EF TJTUFNBT EF TPGUXBSF CBTFBEP OB DPNQPTJÎÍP F
JOUFSBÎÍP FOUSF EJWFSTBT VOJEBEFT EF TPGUXBSF DIBNBEBT EF PCKFUPT
IUUQTQUXJLJQFEJBPSHXJLJ0SJFOUBÎÍP@B@PCKFUPT
&TTB EFGJOJÎÍP EFJYB CFN DMBSP RVF B 00 OÍP TF MJNJUB BQFOBT
FNTFSVNBOPWBGPSNBEFQSPHSBNBÎÍP&MBUBNCÏNTFQSFPDVQB
DPN B NPEFMBHFN BOÈMJTF F QSPKFUP EPT QSPDFTTPTUBSFGBT RVF
EFWFN TFS SFBMJ[BEPT .BJT EP RVF VN UJQP EF MJOHVBHFN EF
QSPHSBNBÎÍP B 0SJFOUBÎÍP B 0CKFUPT Ï VNB OPWB GPSNB EF TF
QFOTBS F SFQSFTFOUBS EF GPSNB NBJT SFBMJTUB BT OFDFTTJEBEFT EPT
TPGUXBSFT
04'6/%".&/504
"OUFT EF TFSFN FOVNFSBEPT UPEPT PT DPODFJUPT OPT QSØYJNPT
DBQÓUVMPT Ï JNQPSUBOUF QSPWFS VN FNCBTBNFOUP TPCSF PT QJMBSFT
GVOEBNFOUPT EB 0SJFOUBÎÍP B 0CKFUPT 5PEPT PT DPODFJUPT RVF
FTUF MJWSP BQSFTFOUB UÐN DPNP GJOBMJEBEF QPTTJCJMJUBS F GBDJMJUBS B
BQMJDBÎÍP EFTUFT QJMBSFT .BJT VNB WF[ P VTP DPSSFUP EFTUFT
DPODFJUPTFMFWBFGBDJMJUBPQSPDFTTPEFQSPHSBNBÎÍP
"CTUSBÎÍP
"TTJN DPNP OP OPTTP DPUJEJBOP OPT BCTUSBÓNPT EF DFSUBT
EJGJDVMEBEFT QBSB BUJOHJSNPT OPTTBT NFUBT OB QSPHSBNBÎÍP
PSJFOUBEBBPCKFUPTOÍPQPEFSJBTFSEJGFSFOUF"GJOBM DPNPKÈIBWJB
TJEP EJUP QSPHSBNBNPT QBSB BVUPNBUJ[BS QSPDFTTP EP OPTTP EJB B
EJB
4FPEJDJPOÈSJP.JDIBFMJTGPSDPOTVMUBEP FOUSFBMHVNBTEFTVBT
EFGJOJÎÜFT TPCSF P UFSNP BCTUSBÎÍP FTTB TF FODBJYBSÈ OP OPTTP
DPOUFYUP1SPDFTTPQFMPRVBMTFJTPMBNDBSBDUFSÓTUJDBTEFVNPCKFUP
DPOTJEFSBOEPPTRVFUFOIBNFNDPNVNDFSUPTHSVQPTEFPCKFUPT
" JEFJB RVF FTTB EFGJOJÎÍP USBOTNJUF Ï RVF OÍP EFWFNPT OPT
QSFPDVQBS DPN DBSBDUFSÓTUJDBT NFOPT JNQPSUBOUFT PV TFKB
BDJEFOUBJT%FWFNPT OFTUFDBTP OPTDPODFOUSBSBQFOBTOPTBTQFDUPT
FTTFODJBJT 1PS OBUVSF[B BT BCTUSBÎÜFT EFWFN TFS JODPNQMFUBT F
JNQSFDJTBT NBTJTUPOÍPTJHOJGJDBRVFFMBQFSEFSÈTVBVUJMJEBEF/B
24 4.2 OS FUNDAMENTOS
WFSEBEF FTUBÏBTVBHSBOEFWBOUBHFN QPJTOPTQFSNJUF BQBSUJSEF
VN DPOUFYUP JOJDJBM NPEFMBS OFDFTTJEBEFT FTQFDÓGJDBT *TTP
QPTTJCJMJUBGMFYJCJMJEBEFOPQSPDFTTPEFQSPHSBNBÎÍP QPJTÏQPTTÓWFM
OÍP USBCBMIBSNPT DPN P DPODFJUP BMWP EJSFUBNFOUF NBT TJN DPN
TVBTBCTUSBÎÜFT
4.2 OS FUNDAMENTOS 25
'JHVSB"CTUSBÎÍPEFVNBDBEFJSB
3FÞTP
/ÍP FYJTUF QJPS QSÈUJDB FN QSPHSBNBÎÍP RVF B SFQFUJÎÍP EF
DØEJHP *TUP MFWB B VN DØEJHP GSÈHJM QSPQÓDJP B SFTVMUBEPT
JOFTQFSBEPT2VBOUPNBJTDØEJHPTTÍPSFQFUJEPTQFMBBQMJDBÎÍP NBJT
EJGÓDJM WBJ TF UPSOBOEP TVB NBOVUFOÎÍP *TTP QPSRVF GBDJMNFOUF TF
QPEF FTRVFDFS EF BUVBMJ[BS BMHVN QPOUP RVF MPHP MFWBSÈ B VNB
JODPOTJTUÐODJB QPJT TF Ï P NFTNP DØEJHP RVF FTUÈ QSFTFOUF FN
WÈSJPTMVHBSFT ÏEFTFFTQFSBSRVFFMFFTUFKBJHVBMFNUPEPTFMFT
26 4.2 OS FUNDAMENTOS
QBSB BT EFNBJT %F GPSNB JOUSPEVUØSJB BRVJ TFSÈ GFJUB VNB SÈQJEB
FYQMBOBÎÍP .BT NBJT Ë GSFOUF UFSFNPT DBQÓUVMPT FTQFDÓGJDPT QBSB
JTTP
&ODBQTVMBNFOUP
6NB BOBMPHJB DPN P NVOEP SFBM TFSÈ GFJUB QBSB JOJDJBMNFOUF
FOUFOEFSNPTPRVFWFNBTFSPFODBQTVMBNFOUP2VBOEPBMHVÏNTF
DPOTVMUB DPN VN NÏEJDP QPS FTUBS DPN VN SFTGSJBEP TFSJB
EFTFTQFSBEPSTFBPGJOBMEBDPOTVMUBPNÏEJDPFOUSFHBTTFBTFHVJOUF
SFDFJUB
4.2 OS FUNDAMENTOS 27
3&$&*56«3*0 $0.1-&90
NHEFÈDJEPBDFUJMTBMJDÓMJDP
NHEFNBMFBUPEFEFYDMPSGFOJSBNJOB
NHEFDMPSJESBUPEFGFOJMFGSJOB
NHEFDBGFÓOB
.JTUVSBSCFNFJOHFSJSDPNÈHVB3FQFUJSFNNPNFOUPTEFDSJTF
" QSJNFJSB DPJTB RVF WJSJB FN NFOUF TFSJB POEF BDIBS FTTBT
TVCTUÉODJBT 4FSÈ RVF Ï WFOEJEP UÍP QPVDP $PNP NJTUVSÈMBT
&YJTUFBMHVNBTFRVÐODJB 4FSJBVNBUBSFGBEJGÓDJMBUÏDPNQMFYB
EF TFS SFBMJ[BEB .BJT TJNQMFT EP RVF JTTP Ï P RVF PT NÏEJDPT
SFBMNFOUFGB[FNQBTTBNVNBDÈQTVMBPOEFUPEBTFTUBTTVCTUÉODJBT
KÈFTUÍPQSPOUBT0VTFKB FMBTKÈWÐNFODBQTVMBEBT
$PN JTTP OÍP TFSÈ QSFDJTP TF QSFPDVQBS FN TBCFS RVBOUP F
DPNPBTTVCTUÉODJBTEFWFNTFSNBOJQVMBEBTQBSBOPGJOBMUFSNPTP
DPNQSJNJEPRVFSFTPMWFSÈPQSPCMFNB0RVFJOUFSFTTBÏPSFTVMUBEP
GJOBM OPDBTP BDVSBEPSFTGSJBEP"DPNQMFYJEBEFEFDIFHBSBFTTBT
NFEJEBTFDPNPNJTUVSÈMBTOÍPJOUFSFTTB²VNQSPDFTTPRVFOÍP
QSFDJTBTFSEPDPOIFDJNFOUPEPQBDJFOUF
3&$&*56«3*0 &/$"146-"%0
28 4.2 OS FUNDAMENTOS
'JHVSB&ODBQTVMBNFOUPFTDPOEFOEPDPNQMFYJEBEFT
&TTBNFTNBJEFJBTFBQMJDBOB0SJFOUBÎÍPB0CKFUPT/PDBTP B
DPNQMFYJEBEF RVF EFTFKBNPT FTDPOEFS Ï B EF JNQMFNFOUBÎÍP EF
BMHVNB OFDFTTJEBEF $PN P FODBQTVMBNFOUP QPEFNPT FTDPOEFS B
GPSNBDPNPBMHPGPJGFJUP EBOEPBRVFNQSFDJTBBQFOBTPSFTVMUBEP
HFSBEP /ÍP JNQPSUB QBSB RVFN SFRVJTJUPV BMHVN
QSPDFTTBNFOUPDPNQPSUBNFOUP PV UFS DPOIFDJNFOUP EB MØHJDB
SFBMJ[BEB QBSB HFSBS P SFTVMUBEP GJOBM "QFOBT P SFTVMUBEP PCUJEP Ï
RVFÏSFMFWBOUF
4.2 OS FUNDAMENTOS 29
'JHVSB&ODBQTVMBNFOUPPDVMUBÎÍPEBJOGPSNBÎÍP
3&46.*/%0
/PT QSØYJNPT DBQÓUVMPT TFSÍP FYQMJDBEPT UPEPT PT DPODFJUPT
DIBWFTEB0SJFOUBÎÍPB0CKFUPT1BSBGBDJMJUBSBMFJUVSB GPJSFBMJ[BEB
B TFHVJOUF EJWJTÍP DPODFJUVBM &TUSVUVSBJT 3FMBDJPOBJT F
0SHBOJ[BDJPOBJT
&TTBTFQBSBÎÍPWJTBGBDJMJUBSBMFJUVSBFUPSOÈMBNFOPTDBOTBUJWB
&NCPSB P QSJODJQBM JOUVJUP EP MJWSP TFKB FYQMJDBS EF GPSNB UFØSJDB
TFVT DPODFJUPT QBSB GBDJMJUBS P FOUFOEJNFOUP VTBSFNPT BMHVOT
DØEJHPT FN Java F C# .BT UFOIB FN NFOUF RVF PT UØQJDPT B
TFSFN BQSFTFOUBEPT TF BQMJDBN B UPEB MJOHVBHFN PSJFOUBEB B
PCKFUPT NVEBOEPBQFOBTBGPSNBEFDPNPEFWFNTFSFTDSJUPT*TTP
PDPSSFEFWJEPËTJOUBYFQBSUJDVMBSEFDBEBVNB
30 4.3 RESUMINDO
026&²+"7"&$
1BSBTBCFSDPNPJOTUBMÈMBT VUJMJ[FNPTTFHVJOUFTMJOLT
+BWBIUUQTXXXKBWBDPNQU@#3
$
IUUQTNTEONJDSPTPGUDPNQUCSMJCSBSZBZLBTQY
4.3 RESUMINDO 31
CAPÍTULO 5
04$0/$&*504
&4536563"*4
&NCPSBB0SJFOUBÎÍPB0CKFUPTUFOIBWBOUBHFOTFNSFMBÎÍPBPT
QBSBEJHNBT RVF B QSFDFEFSBN FYJTUF VNB EFTWBOUBHFN JOJDJBM TFS
VN NPEP NBJT DPNQMFYP F EJGÓDJM EF TF QFOTBS *TTP QPEF TFS
BUSJCVÓEP Ë HSBOEF RVBOUJEBEF EF DPODFJUPT RVF EFWFN TFS
BTTJNJMBEPT QBSB QPEFSNPT USBCBMIBS PSJFOUBEP B PCKFUPT 5PEBWJB
FTUFT EFWFN TFS BQSFOEJEPT EB GPSNB NBJT DMBSB F FGJDB[ QPTTÓWFM
QPJT TØ DPN P TFV EPNÓOJP Ï RVF QPEFSFNPT USBCBMIBS EF GPSNB
FGFUJWBFDPOTJTUFOUF
"$-"44&
0QBSBEJHNBRVFFTUÈTFOEPFTUVEBEPÏP1BSBEJHNB0SJFOUBEP
B0CKFUP 100 UBNCÏNDPOIFDJEPDPNP1SPHSBNBÎÍP0SJFOUBEB
B 0CKFUP &NCPSB TF UFOIB P UFSNP 0CKFUP QSFTFOUF OFTUBT EVBT
EFOPNJOBÎÜFT UVEP DPNFÎB DPN B EFGJOJÎÍP EF VNB DMBTTF "OUFT
32 5 OS CONCEITOS ESTRUTURAIS
NFTNP EF TFS QPTTÓWFM NBOJQVMBS PCKFUPT Ï QSFDJTP EFGJOJS VNB
DMBTTF QPJTFTUBÏBVOJEBEFJOJDJBMFNÓOJNBEFDØEJHPOB00²B
QBSUJSEFDMBTTFTRVFGVUVSBNFOUFTFSÈQPTTÓWFMDSJBSPCKFUPT
$MBTTFÏVNBFTUSVUVSBRVFBCTUSBJVNDPOKVOUPEFPCKFUPTDPN
DBSBDUFSÓTUJDBTTJNJMBSFT6NBDMBTTFEFGJOFPDPNQPSUBNFOUPEFTFVT
PCKFUPTBUSBWÏTEFNÏUPEPTFPTFTUBEPTQPTTÓWFJTEFTUFTPCKFUPTBUSBWÏT
EF BUSJCVUPT &N PVUSPT UFSNPT VNB DMBTTF EFTDSFWF PT TFSWJÎPT
QSPWJEPTQPSTFVTPCKFUPTFRVBJTJOGPSNBÎÜFTFMFTQPEFNBSNB[FOBS
IUUQTQUXJLJQFEJBPSHXJLJ$MBTTF@ QSPHSBNBÎÍP
" DMBTTF Ï B GPSNB NBJT CÈTJDB EF TF EFGJOJS BQFOBT VNB ÞOJDB
WF[DPNPEFWFNTFSUPEPTPTPCKFUPTDSJBEPTBQBSUJSEFMB FNWF[EF
EFGJOJS DBEB PCKFUP TFQBSBEBNFOUF F BUÏ SFQFUJEBNFOUF " QBSUJS
EJTUP MPHPQFSDFCFNPTRVFPDPODFJUPEFDMBTTFÏGVOEBNFOUBMQBSB
B BQMJDBÎÍP EB BCTUSBÎÍP "TTJN VNB DMBTTF UBNCÏN QPEF TFS
EFGJOJEBDPNPVNBBCTUSBÎÍPEFVNBFOUJEBEF TFKBFMBGÓTJDB CPMB
QFTTPB DBSSP FUD PV DPODFJUVBM WJBHFN WFOEB FTUPRVF FUD EP
NVOEPSFBM
²BUSBWÏTEFDSJBÎÍPEFDMBTTFTRVFTFDPOTFHVJSÈDPEJGJDBSUPEBT
BT OFDFTTJEBEFT EF VN TJTUFNB TPGUXBSF .BT DPNP TFSÈ QPTTÓWFM
JEFOUJGJDBS BT OFDFTTJEBEFT FOUJEBEFT EF VN TPGUXBSF 6N CPN
QPOUP EF QBSUJEB Ï QFOTBS FN TVCTUBOUJWPT &TUFT TÍP SFTQPOTÈWFJT
QPS OPNFBS UVEP P RVF DPOIFDFNPT FOUÍP Ï B QBSUJS EFMFT RVF TF
QPTTJCJMJUBSÈ JEFOUJGJDBS RVBJT BT FOUJEBEFT VN TPGUXBSF UFSÈ EF
5.1 A CLASSE 33
NPEFMBS
2VBOEPTFDSJBVNBDMBTTF FTUBNPTEFGJOJOEPPRVFDIBNBNPT
EFUJQPBCTUSBUPEFEBEP&TTFDPODFJUPKÈEFWFTFSDPOIFDJEP QPJT
OBQSPHSBNBÎÍPFTUSVUVSBEBKÈPUFNPT OPDBTPEPVTPEF struct
0VTFKB NBJTVNBWF[WFNPTRVFB0SJFOUBÎÍPB0CKFUPTUFNDPNP
QSFNJTTB SFQSFTFOUBS NFMIPS P NVOEP SFBM QPJT BQFOBT DPN
struct ÏQPTTÓWFMEFGJOJSPTEBEPTRVFBFOUJEBEFWJSÈBUFS+ÈFN
VNB DMBTTF UBNCÏN QPEFNPT EFGJOJS BT PQFSBÎÜFT KVOUBT B FTTFT
EBEPT
34 5.1 A CLASSE
NBT EFOUSP EF DBEB DPOUFYUP FMFT SFQSFTFOUBN QBQÏJT EJGFSFOUFT
FOUÍP QBSB NFMIPSBS P FOUFOEJNFOUP F SFQSFTFOUBUJWJEBEF TFSJB
NFMIPSNVEBSTFVTOPNFT
//C#
class Personagem
{
$PNPQPEFNPTWFS DSJBSBDMBTTFFNTJOÍPÏVNBUBSFGBÈSEVB
1PSÏN JEFOUJGJDÈMB F SFDIFÈMB DPN JOGPSNBÎÜFT F
DPNQPSUBNFOUPT EBGPSNBDPSSFUBÏPNBJPSEFTBGJP/BTTFÎÜFTB
TFHVJS WFSFNPTDPNPSFBMJ[BSFTTFTSFDIFJPT
5.1 A CLASSE 35
&$-*14&&7*46"-456%*0026&4°0
/PDBQÓUVMP6NCSFWFIJTUØSJDPEB0SJFOUBÎÍPB0CKFUPT GPJ
DJUBEP P DPODFJUP EF *%& *OUFHSBUFE %FWFMPQNFOU
&OWJSPONFOU FN QPSUVHVÐT "NCJFOUF EF %FTFOWPMWJNFOUP
*OUFHSBEP 6NB*%&OBEBNBJTÏEPRVFVNBGFSSBNFOUBRVF
EFWF TFS VUJMJ[BEB QBSB GBDJMJUBS P QSPDFTTP EF QSPHSBNBÎÍP
EFTFOWPMWJNFOUP $PNFMB UFNPTBDFTTPBGBDJMJEBEFTDPNP
EFUFDÎÍPEFFSSPT BVUPDPNQMFUFEFDØEJHPT FEJUPSFTEFDØEJHP
FUD
&DMJQTFIUUQXXXFDMJQTFPSH
7JTVBM4UVEJPIUUQTXXXWJTVBMTUVEJPDPN
/B*OUFSOFUFYJTUFNWÈSJPTUVUPSJBJTEFDPNPDSJBS JNQPSUBSF
FYQPSUBSQSPKFUPTOFTTBT*%&T
0"53*#650
"QØTPQSPDFTTPJOJDJBMEFJEFOUJGJDBSBTFOUJEBEFT DMBTTFT RVF
EFWFNTFSNBOJQVMBEBT DPNFÎBBTVSHJSBOFDFTTJEBEFEFEFUBMIÈ
MBT"QSJNFJSBDPJTBRVFWFNËNFOUFÏRVBJTJOGPSNBÎÜFTEFWFN
TFS NBOJQVMBEBT BUSBWÏT EFTUB DMBTTF " QBSUJS EJTUP DPNFÎBTF B
UBSFGBEFDBSBDUFSJ[ÈMBT&TTBTDBSBDUFSÓTUJDBTÏRVFWÍPEFGJOJSRVBJT
JOGPSNBÎÜFT BT DMBTTFT QPEFSÍP BSNB[FOBS F NBOJQVMBS /B 00
FTUBTDBSBDUFSÓTUJDBTFJOGPSNBÎÜFTTÍPEFOPNJOBEBTEFBUSJCVUP
"USJCVUPÏPFMFNFOUPEFVNBDMBTTF SFTQPOTÈWFMQPSEFGJOJSTVB
36 5.2 O ATRIBUTO
FTUSVUVSB EF EBEPT 0 DPOKVOUP EFTUFT TFSÈ SFTQPOTÈWFM QPS
SFQSFTFOUBS TVBT DBSBDUFSÓTUJDBT F GBSÍP QBSUF EPT PCKFUPT DSJBEPT B
QBSUJSEBDMBTTF
&TTB EFGJOJÎÍP EFJYB CFN DMBSP RVF PT BUSJCVUPT EFWFN TFS
EFGJOJEPT EFOUSP EB DMBTTF %FWJEP B JTTP TÍP SFTQPOTÈWFJT QPS
EFGJOJS TVB FTUSVUVSB EF EBEPT ² B QBSUJS EP VTP EF BUSJCVUPT RVF
TFSÈ QPTTÓWFM DBSBDUFSJ[BS EFUBMIBS BT DMBTTFT TFOEP QPTTÓWFM
SFQSFTFOUBSGJFMNFOUFVNBFOUJEBEFEPNVOEPSFBM
"TTJNDPNPOBTDMBTTFT PTBUSJCVUPTQPEFNTFSSFQSFTFOUBEPTB
QBSUJS EF TVCTUBOUJWPT "MÏN EFTUFT QPEFNPT UBNCÏN VTBS
BEKFUJWPT 1FOTBS FN BNCPT QPEF GBDJMJUBS P QSPDFTTP EF
JEFOUJGJDBÎÍPEPTBUSJCVUPT
&NCPSBVNBUSJCVUPQPTTBQFSUFODFSBDMBTTF OFNTFNQSFGBSÈ
TFOUJEP FMF TFS EFGJOJEP *TTP PDPSSF EFWJEP BP DPOUFYUP OP RVBM B
DMBTTF WBJ TFS VTBEB 1PS FYFNQMP GPJ WJTUP BOUFSJPSNFOUF RVF
Paciente OÍP EFJYB EF TFS VNB Pessoa F HFSBMNFOUF FMBT
QPTTVFN VN IPCCJF 1PSÏN FN VN DPOUFYUP IPTQJUBMBS FTUF
BUSJCVUPOÍPBHSFHBSJBNVJUPWBMPS+ÈFN Cliente RVFUBNCÏN
ÏVNBQFTTPBTFSJBNBJTJOUFSFTTBOUF QPJTBQBSUJSEFTFVIPCCJF
QPEFSJBN TFS BQSFTFOUBEPT QSPEVUPT RVF MIF JOUFSFTTBTTFN NBJT
1FSDFCFTF DPNJTTP RVFPDPOUFYUPEFVTPEBDMBTTFWBJJNQBDUBS
EJSFUBNFOUFOPQSPDFTTPEFEFGJOJÎÍPEFTFVTBUSJCVUPT
5.2 O ATRIBUTO 37
"JOEB OP QSPDFTTP EF JEFOUJGJDBÎÍP F DSJBÎÍP EPT BUSJCVUPT Ï
WBMJEP SFTTBMUBS RVF OFN TFNQSF VNB JOGPSNBÎÍP NFTNP TFOEP
JNQPSUBOUF VNB DBSBDUFSÓTUJDB JOFSFOUF Ë FOUJEBEF EFWF TFS
USBOTGPSNBEBFNVNBUSJCVUP6NFYFNQMPDMÈTTJDPEJTTPÏBJEBEF
&NCPSB FTTB TFKB VNB DBSBDUFSÓTUJDB WÈMJEB F JNQPSUBOUF QBSB VNB
QFTTPB TFKBFMBVN Paciente PV Cliente EFWJEPBPUSBCBMIPEF
NBOUÐMB BUVBMJ[BEB UPEP BOP GB[FNPT BOJWFSTÈSJP OÍP WBMFSJB B
QFOBDSJÈMB
/FTUFDBTP TFSJBNFMIPSVTBSPRVFÏDPOIFDJEPDPNPBUSJCVUP
DBMDVMBEP PV BUSJCVUP EFSJWBEP /FTUF DBTP FMF OÍP TF UPSOB VN
BUSJCVUP FN TJ NBT UFN TFV WBMPS PCUJEP B QBSUJS EF VN NÏUPEP
BJOEB TFSÈ FYQMJDBEP P RVF WFN B TFS VN NÏUPEPT NBJT Ë GSFOUF
"TTJN B JEBEF EF VN QBDJFOUF QPEFSJB TFS DBMDVMBEB EB TFHVJOUF
GPSNB dataHoje - dataNascimento %FTTB GPSNB TFNQSF
UFSFNPT B JEBEF BUVBM F BUVBMJ[BEB EP Paciente NFTNP FMB OÍP
TFOEPVNBUSJCVUPQFSUFODFOUFËFTUSVUVSBEFEBEPTEBDMBTTF
//C#
bool, byte, sbyte, short, ushort, int, uint, long, ulong, float, d
ouble, decimal, char, string, String
1BSBVNBUSJCVUPTFSEFGJOJEPFNVNBDMBTTF EFWFNPTTFHVJSP
NFTNPQSJODÓQJPEFEFGJOJÎÍPEFWBSJÈWFJTTFKBNHMPCBJTPVMPDBJT
EF VNB MJOHVBHFN FTUSVUVSBEB EFDMBSBS TFV UJQP F EFQPJT TFV
OPNF0UJQPQPEFTFSVNEPTMJTUBEPTBQPVDP0OPNFEFWFTFHVJS
38 5.2 O ATRIBUTO
BNFTNBQSFPDVQBÎÍPEBDMBTTFTFSPNBJTSFQSFTFOUBUJWPQPTTÓWFM
/PNFTDPNP qtd vlr EFWFNTFSFWJUBEPT/ÍPEFJYFBQSFHVJÎB
MIFEPNJOBS FTDSFWB quantidade F valor 0VQJPSBJOEB data
%BUB EF RVF /BTDJNFOUP NPSUF EF FOWJP EF VN QSPEVUP EF
DBODFMBNFOUPEFVNBWFOEB .BJTVNBWF[ EFJYFEFTFSQSFHVJÎPTP
F FTDSFWB dataNascimento dataObito dataEnvio
dataCancelamento
//Java
class Personagem {
String nome;
String cor;
int quantidadeDeCogumelos;
float altura;
String tipoFisico;
boolean possuiBigode;
//C#
class Personagem
{
string nome;
string cor;
int quantidadeDeCogumelos;
float altura;
string tipoFisico;
bool possuiBigode;
5.2 O ATRIBUTO 39
453*/(26&5*10²&44&
&NCPSBFMFOÍPTFKBQSJNJUJWP OBWFSEBEFFMFÏVNBDMBTTF²
USBUBEP BTTJN QPSRVF UPEB BQMJDBÎÍP OFDFTTJUB NBOJQVMBS
UFYUPT ² BMHP UÍP CÈTJDP F JOFSFOUF BP QSPDFTTP EF
EFTFOWPMWJNFOUP RVF FTUF UJQP EF EBEP UFSNJOPV TF
QSJNJUJWBOEP
1BSBNBJTEFUBMIFTTPCSFFTUFFPVUSPTUJQPTEFEBEPTFN Java
F C# BDPOTFMIP VNB PMIBEB OB EPDVNFOUBÎÍP EFTTBT
MJOHVBHFOT "TTJN BMÏN EF BMHP B NBJT TPCSF PT UJQPT TFSÈ
QPTTÓWFMBQSFOEFSBMHPBNBJTTPCSFFTTBTMJOHVBHFOT-FNCSF
TF FTUFÏVNMJWSPTPCSF0SJFOUBÎÍPB0CKFUPT FOÍPEF Java
PV C#
%PDVNFOUBÎÍP +BWB
IUUQXXXPSBDMFDPNUFDIOFUXPSLQUKBWBKBWBT
FEPDVNFOUBUJPOJOEFYIUNM
%PDVNFOUBÎÍP $
IUUQTNTEONJDSPTPGUDPNQU
#3MJCSBSZLYYBTQY
0.²50%0
5FOEP JEFOUJGJDBEP B DMBTTF DPN TFVT BUSJCVUPT B TFHVJOUF
QFSHVOUB QPEF TVSHJS NBT P RVF GB[FS DPN FMFT $PNP NBOJQVMBS
40 5.3 O MÉTODO
UBJT BUSJCVUPT ² OFTTB IPSB RVF P NÏUPEP FOUSB FN DFOB &TUF Ï
SFTQPOTÈWFM QPS JEFOUJGJDBS F FYFDVUBS BT PQFSBÎÜFT RVF B DMBTTF
GPSOFDFSÈ &TTBT PQFSBÎÜFT WJB EF SFHSB UÐN DPNP GJOBMJEBEF
NBOJQVMBSPTBUSJCVUPT
/PQSPDFTTPEFEFGJOJÎÍPEFVNNÏUPEP BTVBBTTJOBUVSBEFWF
TFSJEFOUJGJDBEB&TUBOBEBNBJTÏEPRVFPOPNFEPNÏUPEPFTVB
MJTUB EF QBSÉNFUSPT .BT DPNP OPNFBS PT NÏUPEPT /PWBNFOUF
VNB FYQSFTTJWJEBEF BP OPNF EP NÏUPEP EFWF TFS GPSOFDJEB BTTJN
DPNP GPJ GFJUP DPN P BUSJCVUP 1PS FYFNQMP OP DPOUFYUP EP
IPTQJUBM JNBHJOF UFSNPT VNB DMBTTF Procedimento MPHP VN
QÏTTJNPOPNFEFNÏUPEPTFSJB calcular $BMDVMBSPRVÐ 0WBMPS
UPUBM EP QSPDFEJNFOUP P RVBOUP DBEB NÏEJDP EFWF SFDFCFS QFMP
NFTNP P MVDSP EP QMBOP QPS FTUF /FTUF DBTP TFSJB NBJT
JOUFSFTTBOUF calcularTotal calcularGanhosMedico
calcularLucro
5.3 O MÉTODO 41
DMBTTFTBPNFTNPUFNQP)ÈUBNCÏNBQPTTJCJMJEBEFEFQBTTBSNPT
TPNFOUF UJQPT QSJNJUJWPT FOUSFUBOUP JTUP SFNFUF Ë QSPHSBNBÎÍP
FTUSVUVSBEB F EFWF TFS EFTFODPSBKBEP 7JB EF SFHSB TF WPDÐ QBTTB
NVJUPT QBSÉNFUSPT TFQBSBEPT UBMWF[ FMFT QVEFTTFN SFQSFTFOUBS
BMHVNDPODFJUPFNDPOKVOUP/FTUFDBTP WBMFSJBBQFOBBWBMJBSNPT
TFOÍPTFSJBNFMIPSDSJBSVNBDMBTTFQBSBBHMVUJOÈMPT
1PS GJN FNCPSB OÍP GBÎB QBSUF EF TVB BTTJOBUVSB PT NÏUPEPT
EFWFNQPTTVJSVNSFUPSOP4FVNBBÎÍPÏEJTQBSBEB ÏEFTFFTQFSBS
VNB SFBÎÍP 0 SFUPSOP EF VN NÏUPEP QPEF TFS RVBMRVFS VN EPT
UJQPT QSJNJUJWPT WJTUPT OB TFÎÍP TPCSF BUSJCVUPT "MÏN EFTUFT P
NÏUPEPQPEFUBNCÏNSFUPSOBSRVBMRVFSVNEPTDPODFJUPT DMBTTFT
RVF GPSBN EFGJOJEPT QBSB TBUJTGB[FS BT OFDFTTJEBEFT EF TJTUFNB FN
EFTFOWPMWJNFOUP "TTJN PT TFHVJOUFT FYFNQMPT QPEFN TFS
BQSFTFOUBEPT double calcularTotal() void
finalizarProcedimento() Procedimento
consultarProcedimentoPorPlano(Plano plano)
70*%026&²*440
2VBOEPOFDFTTJUBNPTRVFVNNÏUPEPOÍPUFOIBSFUPSOP OÍP
EFWFNPT TJNQMFTNFOUF PNJUJS P UJQP EF SFUPSOP /B WFSEBEF
EFWFNPT VTBS B QBMBWSB SFTFSWBEB void RVF TJHOJGJDB RVF P
NÏUPEPOÍPSFUPSOBSÈOBEB
-JOHVBHFOTDPNP C KÈEJTQPOJCJMJ[BNFTTFSFDVSTP
String nome;
42 5.3 O MÉTODO
String cor;
int quantidadeDeCogumelos;
float altura;
String tipoFisico;
boolean possuiBigode;
String getNome() {
return nome;
}
void pular() {
// implementação aqui.
}
BolaFogo atirarFogo() {
// implementação aqui.
}
}
//C#
class Personagem
{
string nome;
string cor;
int quantidadeDeCogumelos;
float altura;
string tipoFisico;
bool possuiBigode;
string Nome
{
get { return nome; }
set { nome = value; }
}
void Pular()
5.3 O MÉTODO 43
{
// implementação aqui.
}
BolaFogo AtirarFogo()
{
// implementação aqui.
}
(&54&5 &*4"26&45°0
5)*4026&²*440
"JOEBOÍPUFNPTDPOEJÎÜFTEFFYQMJDBSPRVFÏFQBSBRVFTFSWF
FTUBQBMBWSBSFTFSWBEB"QØTBTFÎÍP00CKFUPTFSBQSFTFOUBEB
TFSÈQPTTÓWFMFYQMJDBSEFGPSNBNBJTDMBSBPRVFWFNBTFS
44 5.3 O MÉTODO
%PJTNÏUPEPTFTQFDJBJT
&N VNB DMBTTF JOEFQFOEFOUF EF RVBM DPODFJUP FMB RVFJSB
SFQSFTFOUBS QPEFNPTUFSRVBOUPTNÏUPEPTGPSFNOFDFTTÈSJPT$BEB
VN TFSÈ SFTQPOTÈWFM QPS VNB EFUFSNJOBEB PQFSBÎÍP RVF B DMBTTF
EFTFKB PGFSFDFS .VJUBT WF[FT PT NÏUPEPT USBCBMIBN FN DPOKVOUP
QBSB SFBMJ[BS TFVT DPNQPSUBNFOUPT "MÏN EJTTP JOEFQFOEFOUF EB
RVBOUJEBEF F GJOBMJEBEF EPT NÏUPEPT EF VNB DMBTTF FYJTUFN EPJT
NÏUPEPTFTQFDJBJTRVFUPEBDMBTTFQPTTVJPDPOTUSVUPSFPEFTUSVUPS
//Construtor
Personagem () {
// implementação desejada
}
5.3 O MÉTODO 45
//C#
class Personagem
{
//Construtor
Personagem ()
{
// implementação desejada
}
46 5.3 O MÉTODO
$63*04*%"%& $0.0 4°0 %&'*/*%04 $0/4536503&4 &. 36#: &
1:5)0/
# Ruby
def initialize()
# implementação desejada
end
/FTUFTDØEJHPT FMFTGPSBNEFGJOJEPTFYQMJDJUBNFOUFQBSBGBDJMJUBS
P FOUFOEJNFOUP &OUSFUBOUP TF FMFT OÍP UJWFTTFN TJEP EFGJOJEPT
BJOEB QPEFSJBN TFS VTBEPT QPJT FTTB Ï B GPSNB NÓOJNB EF EFGJOJS
VN DPOTUSVUPS Java F C# DPOTFHVFN QSPWFS FTTF UJQP EF
JNQMFNFOUBÎÍP BVUPNBUJDBNFOUF TPNFOUF B EFGJOJÎÍP EP
5.3 O MÉTODO 47
DPOTUSVUPSTFNOFOIVNBDPEJGJDBÎÍPJOUFSOBEFOUSPEFMF
Personagem () {
// implementação desejada
}
//destrutor
void finalize() {
// implementação desejada
}
//C#
class Personagem
{
Personagem ()
{
// implementação desejada
}
//destrutor
~Personagem ()
{
// implementação desejada
48 5.3 O MÉTODO
}
}
" JEFJB QPS EFUSÈT EFTTF QSPDFTTP EF FMJNJOBÎÍP EPT PCKFUPT Ï
MJCFSBSQPTTÓWFJTSFDVSTPTRVFFMFUFWFEFBQPEFSBSQBSBSFBMJ[BSTVBT
BUJWJEBEFT BMÏNEFUBNCÏNTJNQMFTNFOUFFMJNJOÈMP1PSFYFNQMP
JNBHJOFVNPCKFUPDSJBEPBQBSUJSEFVNBDMBTTFRVFSFQSFTFOUFVNB
JNQSFTTPSB 1SPWBWFMNFOUF QSFDJTBSFNPT SFTFSWBS QBSB FMF VNB
QPSUB TFSJBM "TTJN TFSÈ QPTTÓWFM SFBMJ[BS B DPNVOJDBÎÍP FOUSF B
JNQSFTTPSB F P DPNQVUBEPS $PN JTTP BT BQMJDBÎÜFT QPEFSÍP
SFBMJ[BSJNQSFTTÜFT
&OUSFUBOUP TF FTTB QPSUB OÍP GPS MJCFSBEB FN NPNFOUP BMHVN
FMBGJDBSÈBMPDBEBJOEFGJOJEBNFOUFBFTUFPCKFUP NFTNPRVBOEPOÍP
FTUJWFSFN TFOEP SFBMJ[BEBT NBJT JNQSFTTÜFT &OUÍP TFSJB VNB CPB
QSÈUJDBMJCFSBSFTTBQPSUBRVBOEPPPCKFUPOÍPGPTTFNBJTOFDFTTÈSJP
PV TFKB RVBOEP FMF QVEFTTF TFS EFTUSVÓEP /FTUF DBTP OBEB NBJT
BQSPQSJBEPEPRVFMJCFSBSFTUFSFDVSTPOPEFTUSVUPS1BSBGJOBMJ[BS B
NFTNBJEFJBEFJNQMÓDJUPEPTDPOTUSVUPSFTTFBQMJDBBPTEFTUSVUPSFT
5.3 O MÉTODO 49
$63*04*%"%& +« 067* '"-"3 26& /°0 %&7&.04 64"3 %*3&5".&/5&
04%&4536503&4 ²7&3%"%&
"TPCSFDBSHBEFNÏUPEP
.VJUBTWF[FT ÏQSFDJTPRVFVNNFTNPNÏUPEPQPTTVBFOUSBEBT
QBSÉNFUSPT EJGFSFOUFT *TTP PDPSSF QPSRVF FMF QPEF QSFDJTBS
SFBMJ[BS PQFSBÎÜFT EJGFSFOUFT FN EFUFSNJOBEP DPOUFYUP &TUF
QSPDFTTPÏDIBNBEPEFTPCSFDBSHBEFNÏUPEP
50 5.3 O MÉTODO
1BSBSFBMJ[ÈMB EFWFNPTNBOUFSPOPNFEPNÏUPEPJOUBDUP NBT
BMUFSBS TVB MJTUB EF QBSÉNFUSPT 1PEFN TFS BDSFTDFOUBEPT PV
SFUJSBEPT QBSÉNFUSPT QBSB BTTJN TF QSPWFS VN OPWP
DPNQPSUBNFOUP 1PS FYFNQMP TF VNB EFUFSNJOBEB BQMJDBÎÍP
UJWFTTF VNB DMBTTF QBSB SFQSFTFOUBS VN RVBESJMÈUFSP FMB EFWFSJB TF
DIBNBS Quadrilatero F QPTTVJS P NÏUPEP calcularArea
TFHVJOEPBTCPBTQSBUJDBTKÈDJUBEBT.BTTBCFNPTRVFVNRVBESBEP
SFUÉOHVMP MPTBOHPFUSBQÏ[JPTÍPRVBESJMÈUFSPT
.BJT JOUFSFTTBOUF EP RVF QPTTVJS VN NÏUPEP QBSB DBEB GJHVSB
calcularAreaQuadrado calcularAreaLosango FUD ÏEFGJOJSP
NFTNPNÏUPEP calcularArea DPN VNB MJTUB EF QBSÉNFUSPT RVF
TFBEFRVFBDBEBVNEFTTFTRVBESJMÈUFSPT"TFHVJS WFKBPSFTVMUBEP
EFTTBBCPSEBHFN
//Java
class Quadrilatero {
//Área do quadrado
double calcularArea(double lado) {
return lado * lado;
}
//Área do retângulo
double calcularArea(double baseMaior, double baseMenor) {
return baseMaior * baseMenor;
}
//Área do trapézio
double calcularArea(double baseMaior, double baseMenor, double a
ltura) {
return ((baseMaior + baseMenor) * altura)/2;
}
//Área do losango
double calcularArea(double diagonalMaior, double diagonalMenor)
{
return diagonalMaior * diagonalMenor;
}
}
//C#
class Quadrilatero
5.3 O MÉTODO 51
{
//Área do quadrado
double CalcularArea(double lado)
{
return lado * lado;
}
//Área do retângulo
double CalcularArea(double baseMaior, double baseMenor)
{
return baseMaior * baseMenor;
}
//Área do trapézio
double CalcularArea(double baseMaior, double baseMenor, double a
ltura)
{
return ((baseMaior + baseMenor) * altura)/2;
}
//Área do losango
double CalcularArea(double diagonalMaior, double diagonalMenor)
{
return diagonalMaior * diagonalMenor;
}
52 5.3 O MÉTODO
6."/07"/0.&/$-"563"
00#+&50
&NCPSB P OPNF EP QBSBEJHNB RVF FTUÈ TFOEP FTUVEBEP TFKB
0SJFOUBÎÍP B 0CKFUP KÈ UÓOIBNPT WJTUP RVF UVEP DPNFÎB DPN B
EFGJOJÎÍPEFVNBDMBTTF&OUÍP PRVFÏVNPCKFUP ²BJOTUBODJBÎÍP
EFVNBDMBTTF
$PNPKÈFYQMJDBEP BDMBTTFÏBBCTUSBÎÍPCBTFBQBSUJSEBRVBMPT
PCKFUPTGPSBNDSJBEPT2VBOEPTFVTBB00QBSBDSJBSVNTPGUXBSF
QSJNFJSP QFOTBNPT OPT PCKFUPT RVF FMF WBJ NBOJQVMBSSFQSFTFOUBS
5FOEPFTUFTTJEPTJEFOUJGJDBEPT EFWFNPTFOUÍPEFGJOJSBTDMBTTFTRVF
TFSWJSBNEFBCTUSBÎÍPCBTFQBSBRVFPTPCKFUPTWFOIBNBTFSDSJBEPT
JOTUBODJBEPT
6NPCKFUPÏBSFQSFTFOUBÎÍPEFVNDPODFJUPFOUJEBEFEPNVOEP
SFBM RVF QPEF TFS GÓTJDB CPMB DBSSP ÈSWPSF FUD PV DPODFJUVBM
WJBHFN FTUPRVF DPNQSBFUD FQPTTVJVNTJHOJGJDBEPCFNEFGJOJEP
QBSBVNEFUFSNJOBEPTPGUXBSF1BSBFTUFDPODFJUPFOUJEBEF EFWFTFS
EFGJOJEB JOJDJBMNFOUF VNB DMBTTF B QBSUJS EB RVBM QPTUFSJPSNFOUF
TFSÍPJOTUBODJBEPTPCKFUPTEJTUJOUPT
5.4 O OBJETO 53
'JHVSB&YFNQMPTEFPCKFUPTEPNVOEPSFBM
54 5.4 O OBJETO
//C#
01&3"%03/&8
0FTUBEPEFVNPCKFUP
2VBOEP DSJBNPT VN PCKFUP QPEFSFNPT VTBS TFVT BUSJCVUPT F
NÏUPEPT'PDBOEPNBJTFTQFDJGJDBNFOUFOPTBUSJCVUPT WBMPSFTBGJOT
QPEFSÍP TFS BUSJCVÓEPT B FMFT EF BDPSEP DPN DBEB OFDFTTJEBEF
FTQFDÓGJDBFNNPNFOUPTEJTUJOUPT²OFTTFQSPDFTTPEFNVEBOÎBEF
WBMPSFTEPTBUSJCVUPTRVFÏEFGJOJEPPFTUBEPEFVNPCKFUP
0FTUBEPEFVNPCKFUPÏPDPOKVOUPEPTWBMPSFTEPTTFVTBUSJCVUPT
5.4 O OBJETO 55
EFVNEFUFSNJOBEPNPNFOUP&TUFTWBMPSFTQPEFNNVEBSBRVBMRVFS
NPNFOUP F FN RVBMRVFS RVBOUJEBEF TPC RVBMRVFS DJSDVOTUÉODJB
$PN JTTP P PCKFUP QPEF UFS RVBOUPT FTUBEPT OFDFTTJUBS FORVBOUP FMF
FTUJWFSFNFYFDVÎÍP
0VTFKB PDPODFJUPEFFTUBEPEFVNPCKFUPÏJOUSJOTFDBNFOUFF
TPNFOUFMJHBEPBPTTFVTBUSJCVUPT1PSFYFNQMPQBSBVNPCKFUPEF
VNBDMBTTF Aluno VNFTUBEPWBMJEPTFSJB
nome 'VMBOP
matricula
situação "QSPWBEP
disciplinas &TUSVUVSB EF EBEPT 4JTUFNBT
0QFSBDJPOBJT 5FPSJBEB$PNQVUBÎÍP
1BSBFTUFNFTNPPCKFUP VNPVUSPFTUBEPTFSJB
nome 'VMBOP
matricula
situação 3FQSPWBEP
disciplinas &TUSVUVSB EF EBEPT 4JTUFNBT
0QFSBDJPOBJT 5FPSJBEB$PNQVUBÎÍP
1PSÏN TF UJWÏTTFNPT VN PVUSP PCKFUP EB DMBTTF Aluno FTUF
OÍPTFSJBVNUFSDFJSPFTUBEPQBSBPPCKFUPJOJDJBMNFOUFBQSFTFOUBEP
1PSFYFNQMP
nome $JDSBOP
matricula
situação .BUSJDVMBEP
disciplinas -ØHJDB .BUFNÈUJDB "SRVJUFUVSB EF
$PNQVUBEPSFT $PNQJMBEPSFT
56 5.4 O OBJETO
&TUF Ï VN PVUSP PCKFUP DPNQMFUBNFOUF EFTBTTPDJBEP DPN P
QSJNFJSP RVF SFQSFTFOUBWB P "Fulano" &TUF BHPSB SFQSFTFOUB P
"Cicrano" 4ÍP PCKFUPT DPNQMFUBNFOUF EJGFSFOUFT QPJT TÍP EVBT
JOTUÉODJBT PCKFUPT EBDMBTTF Aluno DSJBEBTVNBQBSBSFQSFTFOUBS
P "Fulano" F PVUSB P "Cicrano" &MBT QPTTVFN B JEFOUJEBEF
EJGFSFOUF OP DBTP B NBUSÓDVMB EP BMVOP F DBEB VNB UFSÈ P TFV
DPOKVOUPEFFTUBEPQPTTÓWFMEFGPSNBJOEFQFOEFOUF
1PEFSEFUFSNJOBSTFEPJTPCKFUPTTÍPJHVBJTÏEFHSBOEFVUJMJEBEF
FN TJTUFNBT QPJT TF VNB EBT QSFNJTTBT EFMFT Ï BVUPNBUJ[BS VN
QSPDFTTP EP NVOEP SFBM OBEB NFMIPS EP RVF QPEFS QSPWFS
GBDJMJEBEFT RVF BHJMJ[FN B FYFDVÎÍP EBT BUJWJEBEFT 1PS FYFNQMP
5.4 O OBJETO 57
JNBHJOF VN FTUPRVF EF VNB MPKB EF FMFUSPEPNÏTUJDPT 4F VN
GVODJPOÈSJP GPS QSFDJTBS FODPOUSBS VN EFUFSNJOBEP QSPEVUP FN
VN QSPDFTTP NBOVBM FMF JSJB TF EJSJHJS BP FTUPRVF F WJTVBMNFOUF
QSPDVSBSFTUBOUFQPSFTUBOUF QSBUFMFJSBQPSQSBUFMFJSB&OUSFUBOUP TF
FYJTUJS VN TPGUXBSF FMF QPEF EJHJUBS P OPNF PV UJQP EF
FMFUSPEPNÏTUJDP RVF EFTFKB FODPOUSBS "TTJN VNB WBSSFEVSB
BVUPNÈUJDB TFSÈ GFJUB F FMJNJOBSÈ VNB HSBOEF RVBOUJEBEF EF JUFOT
RVFOÍPTÍPJHVBJTBPTRVFFMFEFTFKBBDIBS&TQFDJGJDBOEPNBJT TF
FMFEFTFKBFODPOUSBVNBQBSFMIPEF#MVSBZ OÍPUFSJBMØHJDBUFSEFJS
BFTUBOEFTEFTPOT 57TFUD
.BTDPNPFMFTBCFSJBFTQFDJGJDBNFOUFBFTUBOUFFQSBUFMFJSBPOEF
TF FODPOUSBN PT BQBSFMIPT EF #MVSBZ " JEFOUJEBEF PV JHVBMEBEF
QPEF BKVEBS OJTTP /FTUF DBTP FMF VTBSJB VN PCKFUP RVF
SFQSFTFOUBTTF TFVT QBSÉNFUSPT EF QFTRVJTB QBSB BTTJN BHJMJ[BS P
QSPDFTTP.BTPRVFUPSOBSJBTFVPCKFUPEFQFTRVJTBJHVBMBPPCKFUP
RVFEFTFKBQSPDVSBS .BJTVNBWF[ RVFNEFGJOJVBDMBTTFÏRVFUFN
DPNPEFUFSNJOBSJTTP/PFYFNQMPEP#MVSBZ QPEFSÓBNPTDPMPDBS
P UJQP EF BQBSFMIP F NPEFMP "TTJN B JHVBMEBEF TFSJB EFUFSNJOBEB
BUSBWÏTEPTBUSJCVUPTRVFBSNB[FOBTTFNFTTFTWBMPSFT
1BSBQPEFSFGFUJWBNFOUFWFSJGJDBSTFVNPCKFUPÏJHVBMBPPVUSP
EFWFNPT VUJMJ[BS VN NÏUPEP QPJT DPNP KÈ WJNPT TÍP FTUFT PT
SFTQPOTÈWFJT QPS EFGJOJS PT DPNQPSUBNFOUPT BÎÜFT EBT
DMBTTFTPCKFUPT /FTUF DBTP Ï P DPNQPSUBNFOUP RVF UPSOB EPJT
PCKFUPTJHVBJT"JOEBOPFYFNQMPEP#MVSBZ PNÏUPEPWFSJGJDBSJBTF
P UJQPEFBQBSFMIPFNPEFMPTÍPJHVBJTBBMHVOTEPFTUPRVF&NDBTP
QPTJUJWP TFSJB JOGPSNBEB B MPDBMJ[BÎÍP EFMFT EFOUSP EP FTUPRVF F
BTTJNPWFOEFEPSJSJBEJSFUBNFOUFBPMPDBMQBSBQFHBSPQSPEVUPEP
DMJFOUF
58 5.4 O OBJETO
SFUPSOF VN CPPMFBOP ² B QBSUJS EB EFGJOJÎÍP EFTUF NÏUPEP RVF
QPEFNPT EFGJOJS P RVF UPSOB EPJT PCKFUPT JHVBJT &WPMVJOEP VN
QPVDP NBJT P FYFNQMP EP QFSTPOBHFN WBNPT EFGJOJS P NÏUPEP
equals QBSBOPTTBDMBTTF Personagem
//Java
class Personagem {
// Construtor
//destrutor
//Equals
@Override
public boolean equals(Object obj) {
return false;
}
}
//C#
class Personagem
{
// Construtor
//destrutor
//Equals
public override bool Equals(Object obj)
{
if (obj is Personagem)
{
5.4 O OBJETO 59
Personagem p = obj as Personagem;
return return this.nome.Equals(p.nome);
}
return false;
}
}
&NMJOHVBHFOTPSJFOUBEBTBPCKFUPT RVBOEPFTUFÏVUJMJ[BEPDPN
PCKFUPT OB WFSEBEF WFSJGJDBNPT TF FTUFT FTUÍP BQPOUBOEP QBSB P
NFTNPMVHBSOBNFNØSJBEPDPNQVUBEPS-PHPOÍPTFSJBVNBCPB
QSÈUJDB VUJMJ[BS UBM PQFSBEPS QBSB PCKFUPT BGJOBM UPEB WF[ RVF VN
new ÏFYFDVUBEP VNOPWPMVHBSOBNFNØSJBTFSÈSFTFSWBEPQBSB
UBMPCKFUP"TTJN BJHVBMEBEFTFNQSFSFUPSOBSJB false
60 5.4 O OBJETO
!07&33*%& 07&33*%& 0#+&$5 16#-*$ */45"/$&0' *4 "4 ."*4
1"-"73"4/07"4
"SFQSFTFOUBÎÍPOVNÏSJDBEFVNPCKFUP
&NCPSBOÍPTFKBVNDPODFJUPEFGBUPEB0SJFOUBÎÍPB0CKFUPT B
5.4 O OBJETO 61
SFQSFTFOUBÎÍP OVNÏSJDB EF VN PCKFUP OP DBTP TFV IBTIDPEF Ï
NVJUP ÞUJM F MJOHVBHFOT DPNP Java C# Ruby FOUSF PVUSBT
EJTQPOJCJMJ[BN UBM SFQSFTFOUBÎÍP #BTJDBNFOUF VN IBTIDPEF Ï VN
OÞNFSPRVFÏHFSBEPBQBSUJSEPFTUBEPDPSSFOUFEPPCKFUP PVTFKB
EPT WBMPSFT EF TFVT BUSJCVUPT OBRVFMF EFUFSNJOBEP NPNFOUP &TUF
OÞNFSP TFSWF QBSB PUJNJ[BS F QFTRVJTBS FN FTUSVUVSBT RVF VUJMJ[B
UBCMFTIBTI UBCFMBTEFEJTQFSTÍP /ÍPÏPGPDPEFTUFMJWSPFYQMJDBS
UBCMFTIBTI NBTTBCFSEFTVBFYJTUÐODJBÏPQSJNFJSPQBTTPQBSBTFV
VTPEFGPSNBFGJDJFOUF
62 5.4 O OBJETO
4FPDBNQPÏ boolean DPNQVUF (f ? 0 : 1);
4F P DBNQP Ï
VN float DPNQVUF
Float.floatToBits(f);
4F P DBNQP Ï VN PCKFUP DPNQVUF 0 TF FMF GPS OVMP $BTP
DPOUSÈSJP VTFPIBTIDPEFEFTTFPCKFUP
4FPDBNQPÏVNBSSBZ USBUFPDPNPTFDBEBFMFNFOUPGPTTF
VNDBNQPTFQBSBEP
$PNCJOFPIBTIDPEFYDBMDVMBEPQBSBDBEBFMFNFOUPFNVN
SFTVMUBEPDPNPEFTDSJUP result = 37 * result + x;
3FUPSOFPSFTVMUBEP
//Java
//Exemplo 1
@Override
public int hashCode() {
5.4 O OBJETO 63
result = 37 * result + numeroNotaFiscal; //numeroNotaFiscal é um
int, neste caso se enquadra na regra 2.
return result;
}
//Exemplo 2
@Override
public int hashCode() {
return result;
}
//C#
//Exemplo 1
public override int GetHashCode()
{
int result = 17;
result = 37 * result + numeroNotaFiscal; //numeroNotaFiscal é um
int, neste caso se enquadra na regra 2.
return result;
}
//Exemplo 2
public override int GetHashCode()
{
int result = 11;
result = 43 * result + numeroNotaFiscal; //numeroNotaFiscal é um
int, neste caso se enquadra na regra 2.
result = 43 * result + cliente == null ? 0 : cliente.GetHashCode
(); //É um objeto, regra 6. Neste caso a classe `Cliente` deverá d
isponibilizar tal o calculo do _hashcode_.
return result;
}
64 5.4 O OBJETO
WBMPSEPDÈMDVMPIBTI5BOUPP eclipse RVBOUPP Visial Studio
EJTQPOJCJMJ[ÍP GPSNBT BVUPNBUJ[BEBT EF HFSBS UBJT NÏUPEPT 0
JNQPSUBOUF Ï TBCFS RVF FMFT EFWFN TFS DSJBEPT QBSB BVYJMJBSFN P
equals
"SFQSFTFOUBÎÍPQBESÍPEFVNPCKFUP
&NCPSB UBNCÏN OÍP TFKB VN DPODFJUP FGFUJWP EB 0SJFOUBÎÍP B
0CKFUP B SFQSFTFOUBÎÍP QBESÍP PV SFQSFTFOUBÎÍP FN UFYUP EF VN
PCKFUPÏNVJUPÞUJM0CKFUPTQPEFNQPTTVJSEJWFSTPTBUSJCVUPT NBT
OFNTFNQSFUPEPTEFWFNTFSFYJCJEPTRVBOEPTFEFTFKBWJTVBMJ[ÈMP
1PSFYFNQMP JNBHJOFVNMJWSPEFVNBCJCMJPUFDB4BCFNPTRVF
VNPCKFUPDMBTTF Livro QPEFUFSFOUSFTFVTBUSJCVUPTP titulo
edicao area assunto autor quantidadePaginas
editora FOUSF NVJUPT PVUSPT 2VBOEP OB CJCMJPUFDB EFTFKBTF
QFTRVJTBSQPSVNMJWSP OBMJTUBHFNEFSFTVMUBEPTOÍPBQBSFDFUPEPT
PTWBMPSFTEPTBUSJCVUPTEPTMJWSPTFODPOUSBEPT(FSBMNFOUF BQBSFDF
TPNFOUFTFVUÓUVMPFBVUPS QPSFYFNQMP²FTUFDPNQPSUBNFOUPRVF
ÏDIBNBEPEF3FQSFTFOUBÎÍP1BESÍP
"TTJN PQSPDFTTPEFFYJCJÎÍPEPTPCKFUPTÏGBDJMJUBEPFUBNCÏN
UPSOB NBJT BNJHÈWFM B BQSFTFOUBÎÍP EB JOGPSNBÎÍP B RVFN QSFDJTB
EFMB Java F C# QPTTVFN VN NÏUPEP FTQFDÓGJDP QBSB QSPWFS B
SFQSFTFOUBÎÍP FN UFYUP QBESÍP EF DMBTTFTPCKFUPT DSJBEPT P
NÏUPEP toString $PNPBGVOÎÍPEFMFÏFYJCJSFNGPSNBEFUFYUP
P PCKFUP OBEB NBJT ØCWJP EF RVF FMF SFUPSOF VNB String "
TFHVJS WFKB DPNP FMF EFWF TFS EFGJOJEP FN DBEB VNB EFTTBT
5.4 O OBJETO 65
MJOHVBHFOT
//Java
class Personagem {
// Construtor
//destrutor
//Equals e hashCode
//toString
@Override
public String toString() {
return "Nome do personagem: " + this.nome;
}
}
//C#
class Personagem
{
// Construtor
//destrutor
//Equals e GetHashCode
//toString
public override string ToString()
{
return "Nome do personagem: " + this.nome;
}
}
" QBSUJS EFTTB EFGJOJÎÍP QPEFNPT OPUBS RVF Ï CFN NBJT GÈDJM
FODBQTVMBEP TFNQSFVUJMJ[BSP toString QBSBFYJCJSPPCKFUPEP
RVF VTBS B DPODBUFOBÎÍP EF DIBNBEBT BPT gets QPS FYFNQMP
"MÏNEFTFSNBJTTJNQMFT DPOTFHVJNPTFWJUBSSFUSBCBMIPT
66 5.4 O OBJETO
045*104%&"53*#650&.²50%0
4ØBQØTPTDPODFJUPTEFDMBTTFFPCKFUPTFSFNFYQMJDBEPTÏRVFÏ
QPTTÓWFM BQSFTFOUBS PT EPJT UJQPT EF BUSJCVUPT F NÏUPEPT "NCPT
QPEFNTFSEFJOTUÉODJBPVFTUÈUJDP
0BUSJCVUPFTUÈUJDPQFSUFODFBDMBTTFFOÍPBPPCKFUP"USJCVUPT
EFTUF UJQP EFWFN TFS BDFTTBEPTVUJMJ[BEPT EJSFUBNFOUF B QBSUJS EB
DMBTTF1PEFNBUÏTFSBDFTTBEPTVTBEPTWJBPPCKFUP NBTJTTPOÍPÏ
VNB CPB QSÈUJDB F EFWF TFS EFTFODPSBKBEP %FWJEP B FTTF
DPNQPSUBNFOUP EF QFSUFODFS B DMBTTF F OÍP BP PCKFUP FMF TF
DPNQPSUB EF GPSNB PQPTUB BP EF JOTUÉODJB WBMPSFT BSNB[FOBEPT
OFMFTTÍPJHVBJTFNUPEPTPTPCKFUPTDSJBEPTBQBSUJSEBDMBTTF QPJT
FMFT QFSUFODFN B FMB BOUFT NFTNP EF FYJTUJS VN PCKFUP %FWJEP B
JTTP PCKFUPT EJTUJOUPT UFSÍP P NFTNP WBMPS QBSB FTTF EFUFSNJOBEP
BUSJCVUP
String nome;
static int quantidadeOlhos;
//C#
class Pessoa
{
string nome;
static int quantidadeOlhos;
String nome;
static int quantidadeOlhos;
String falar() {
//C#
class Pessoa
{
string nome;
static int quantidadeOlhos;
String Falar()
{
return "Olá!";
}
}
+ÈPNÏUPEPFTUÈUJDPQFSUFODFËDMBTTFFOÍPBPPCKFUP PVTFKB
EFWF TFS BDFTTBEP EJSFUBNFOUF BUSBWÏT EB DMBTTF .BJT VNB WF[ FMF
FYFDVUBVNBBÎÍPFFMBTFSÈBNFTNBJOEFQFOEFOUFEPPCKFUP QPJT
BOUFTNFTNPEFQFSUFODFSBPPCKFUP FMBKÈQFSUFODJBËDMBTTF"TTJN
DPNP OP BUSJCVUP QBSB EFGJOJS P NÏUPEP DPNP FTUÈUJDP B QBMBWSB
SFTFSWBEB static EFWFTFSVTBEB"TFHVJS WFKBVNFYFNQMP
//Java
class Pessoa {
String nome;
static int quantidadeOlhos;
String falar() {
return "Olá!";
}
//C#
class Pessoa
{
string nome;
static int quantidadeOlhos;
.²50%0&45«5*$006/°0&*4"26&45°0
//C#
Math.Sin(30);
0OÍPVTPFNNFNCSPTFTUÈUJDPTÏTJNQMFTFTUFTKÈQFSUFODFN
Ë DMBTTF F TØ FYJTUJSÈ VNB WFSTÍP EFMFT +È DPN BUSJCVUPT EF
JOTUÉODJB DBEB PCKFUP HVBSEBSÈ TFV QSØQSJP FTUBEP OFMFT F P
VTP EP this QPEF BKVEBS B EJGFSFODJBS QPS FYFNQMPT
QBSÉNFUSPTRVFQPTTBNWJSBUFSPNFTNPOPNFEPTBUSJCVUPT
".&/4"(&.
.FOTBHFNÏPQSPDFTTPEFBUJWBÎÍPEFVNNÏUPEPEFVNPCKFUP
*TUP PDPSSF RVBOEP VNB SFRVJTJÎÍP DIBNBEB B FTTF NÏUPEP Ï
SFBMJ[BEB BTTJN EJTQBSBOEP B FYFDVÎÍP EF TFV DPNQPSUBNFOUP
EFTDSJUP QPS TVB DMBTTF 1PEF UBNCÏN TFS EJSFDJPOBEB EJSFUBNFOUF B
DMBTTF DBTPBSFRVJTJÎÍPTFKBBVNNÏUPEPFTUÈUJDP
"EFGJOJÎÍPBOUFSJPSEFJYBCFNDMBSPRVF RVBOEPSFRVJTJUBNPT
RVF VN DPNQPSUBNFOUP DØEJHP EF VN NÏUPEP TFKB FYFDVUBEP
FTUBNPT QBTTBOEP VNB NFOTBHFN B FTUF NÏUPEP .FOTBHFOT
QPEFN TFS USPDBEBT FOUSF NÏUPEPT EPT PCKFUPTDMBTTFT QBSB TFSFN
SFBMJ[BEBTBTBUJWJEBEFTJOFSFOUFTBDBEBVN
²EFTFFTQFSBSRVFUSPDBTEFNFOTBHFOTPDPSSBNEFGPSNBMJWSF
F DPOTUBOUF EVSBOUF B FYFDVÎÍP EF VN TJTUFNB 4Ø BTTJN PT
PCKFUPTDMBTTFTQPEFSÍPFYFDVUBSTVBTUBSFGBT4FEVSBOUFBFYFDVÎÍP
5.6 A MENSAGEM 71
EF VN TJTUFNB GPS EFUFDUBEP RVF DFSUPT NÏUPEPT OVODB UFSÍP
NFOTBHFOT QBTTBEBT B FMFT WBMF B QFOB SFGMFUJS TPCSF B SFBM
OFDFTTJEBEFEFTVBFYJTUÐODJB
//Java
pessoa.falar();
Pessoa.andar();
//C#
pessoa.Falar();
Pessoa.Andar();
1655*/(*5"--50(&5)&3
"QØT VNB ÈSEVB QBTTBHFN QFMPT DPODFJUPT FTUSVUVSBJT VN
FYFNQMPQSÈUJDPEFDPNPUPEPTFMFTQPEFNTFSVTBEPTFNDPOKVOUP
QPEFGBDJMJUBSPFOUFOEJNFOUP7BNPTBQSPGVOEBSVNQPVDPNBJTP
FYFNQMPEPQFSTPOBHFNEPKPHPEFWJEFPHBNF
'JHVSB6.-CÈTJDBEBDMBTTF1FSTPOBHFN
026&²6.-
²VNBMJOHVBHFNHSÈGJDBEFNPEFMBHFNEFTJTUFNBTPSJFOUBEPT
B PCKFUPT ² VN QBESÍP NVOEJBMNFOUF BDFJUP 6.- TJHOJGJDB
6OJGJFE .PEFMJOH -BOHVBHF FN QPSUVHVÐT -JOHVBHFN EF
.PEFMBHFN6OJGJDBEB
mario.setNome("Mario");
mario.setCor("Vermelha");
mario.setQuantidadeCogumelos(0);
mario.setAltura(1.60);
mario.setTipoFisico("Gordinho");
luigi.setNome("Luigi");
luigi.setCor("Verde");
luigi.setQuantidadeCogumelos(0);
luigi.setAltura(1.80);
luigi.setTipoFisico("Magro");
luigi.setPossuiBigode(true);
mario.pular();
mario.atirarFogo();
luigi.pular();
luigi.atirarFogo();
//C#
class Jogo
{
mario.Nome = "Mario";
mario.Cor = "Vermelha";
mario.QuantidadeCogumelos = 0;
mario.Altura = 1.60;
mario.TipoFisico = "Gordinho";
mario.PossuiBigode = true;
luigi.Nome = "Luigi" ;
luigi.Cor = "Verde";
luigi.QuantidadeCogumelos = 0;
luigi.Altura = 1.80;
luigi.TipoFisico = "Magro";
luigi.PossuiBigode = true;
mario.Pular();
mario.AtirarFogo();
'JHVSB%PJTPCKFUPTDSJBEPTBQBSUJSEBDMBTTF1FSTPOBHFNP.ÈSJPFP-VJHJ "SUF
QSPNPDJPOBMEF.BSJPF-VJHJ DPNPWJTUPFN/FX4VQFS.BSJP#SPT8JJ
026&4°004.²50%04."*/
//Java
//Chamadas
mario.toString();
mario.equals(luigi);
mario.hasCode();
//Resultados
Nome do Personagem: Mário
false
74113764
//Chamadas
luigi.ToString();
luigi.Equals(luigi);
luigi.GetHashCode();
//Resultados
Nome do Personagem: Luigi
true
73777346
3&46.*/%0
/FTUF DBQÓUVMP GPJ WJTUP DPNP EFGJOJS BT FTUSVUVSBT CBTFT EB
0SJFOUBÎÍP B 0CKFUPT &NCPSB TFKBN EF TVNB JNQPSUÉODJB FTUBT
BJOEBOÍPTÍPTVGJDJFOUFTQBSBVTBSNPTEFGPSNBQMFOBB00
5.8 RESUMINDO 79
CAPÍTULO 6
04$0/$&*504
3&-"$*0/"*4
)&3"/±"
0DPODFJUPEFIFSBOÎBOBEBNBJTÏEPRVFVNBQPTTJCJMJEBEFEF
SFQSFTFOUBSBMHPRVFKÈFYJTUFOPNVOEPSFBM6NFYFNQMPDMÈTTJDP
EJTUP Ï RVBOEP OB FTDPMB OB BVMB EF DJÐODJBT FTUVEBNPT TPCSF
DMBTTJGJDBÎÍPCJPMØHJDB/FMBBTFHVJOUFEJWJTÍPÏGFJUBFOUSFPTTFSFT
WJWPT 3FJOP 'JMP $MBTTF 0SEFN 'BNÓMJB (ÐOFSP &TQÏDJF $BEB
EJWJTÍPNBJTCBJYBIFSEBPRVFGPSOFDFTTÈSJPEBEJWJTÍPTVQFSJPS F
JTUP PDPSSF QPSRVF B NBJT CBJYB Ï VN TVCUJQP EB EJWJTÍP BDJNB
&TQÏDJFIFSEBEF(ÐOFSP RVFQPSTVBWF[IFSEBEF'BNÓMJBFBTTJN
QPSEJBOUF
/PDBTPEFOØTTFSFTIVNBOPT OPTTBDMBTTJGJDBÎÍPEFOUSPEFTUB
FTUSVUVSBTFSJB
3FJOP"OJNBMJB
'JMP$IPSEBUB
80 6 OS CONCEITOS RELACIONAIS
$MBTTF.BNNBMJB
0SEFN1SJNBUFT
'BNÓMJB)PNJOJEBF
(ÐOFSP)PNP
&TQÏDJF)PNP4BQJFOT
&TTB EFGJOJÎÍP EFJYB CFN DMBSP RVF IFSBOÎB TØ PDPSSF FOUSF
DMBTTFT 4F WPDÐ PVWJS B GSBTF P PCKFUP 9 IFSEPV EF : TBJCB RVF
RVFNBQSPGFSJVOÍPMFVFTUFMJWSPFBJOEBÏVNKPWFNQBEBXBOOB
0SJFOUBÎÍP B 0CKFUPT *TUP PDPSSF QPSRVF PCKFUPT TØ FYJTUFN FN
UFNQPEFFYFDVÎÍP JNQPTTJCJMJUBOEPBTTJNTVBBMUFSBÎÍPFTUSVUVSBM
+ÈBTDMBTTFT QPSTFSFNEPUFNQPEFEFTFOWPMWJNFOUP DPNQJMBÎÍP
QPEFSÍP EFGJOJS B FTUSVUVSB EF OPWBT DMBTTFT F DPOTFRVFOUFNFOUF
EFPCKFUPTDSJBEPTBQBSUJSEFTUBT
6.1 HERANÇA 81
" IFSBOÎB QPEF PDPSSFS FN RVBOUPT OÓWFJT GPSFN OFDFTTÈSJPT
1PSÏN VNBCPBRVBOUJEBEFEFOÓWFJTÏEF OPNÈYJNP 2VBOUP
NBJT OÓWFJT FYJTUJSFN NBJT DPNQMFYP EF FOUFOEFS P DØEJHP GJDBSÈ
QPJT DBEB WF[ NBJT VN EJTUBODJBNFOUP EP DPODFJUP CBTF Ï HFSBEP
&TTFTOÓWFJTTÍPDIBNBEPTEF)JFSBSRVJBEF$MBTTF/PFYFNQMPEB
DMBTTJGJDBÎÍP CJPMØHJDB QBSUJOEP EP OÓWFM &TQÏDJF BUÏ 3FJOP B
)JFSBSRVJBEF$MBTTFUFSJBOÓWFJT
0GVOEBNFOUPEFSFÞTPKÈFYQMJDBEPÏJOUSJOTFDBNFOUFMJHBEPB
IFSBOÎB F UBNCÏN B BCTUSBÎÍP 2VBOEP EFGJOJNPT VNB DMBTTF EB
GPSNB NBJT BCTUSBUB QPTTÓWFM Ï QPSRVF OFDFTTJUBNPT SFVTBS TFV
DPODFJUPFTFVTNFNCSPTFNPVUSPTDPODFJUPTTJNJMBSFT"IFSBOÎB
EFWFTFSBQMJDBEBQBSBJTTP
2VBOEPVUJMJ[BNPTBIFSBOÎB FTUBNPTEJ[FOEPRVFVNDPODFJUP
Ï EP UJQP EF PVUSP DPODFJUP F FTUB QPTTJCJMJEBEF Ï WJUBM QBSB
SFQSFTFOUBS GJFMNFOUF P NVOEP SFBM RVF FTUB TF NPEFMBOEP 1PS
FYFNQMP OPIPTQJUBM FYJTUFNWÈSJPTUJQPTEFQFTTPBTFOUSFBTRVBJT
QPEFNPT DJUBS QBDJFOUFT F GVODJPOÈSJPT &TUFT ÞMUJNPT QPEFN TFS
.ÏEJDPT &OGFSNFJSPT 'JTJPUFSBQFVUBT (FSFOUFT FOUSF PVUSPT
/PUBTF RVF .ÏEJDPT &OGFSNFJSPT 'JTJPUFSBQFVUBT (FSFOUFT TÍP
82 6.1 HERANÇA
UJQPTEFGVODJPOÈSJPT &QBDJFOUF FGVODJPOÈSJPTÍP EPUJQP QFTTPB
0VTFKB BQBSUJSEFVNUJQP ÏQPTTÓWFMEFGJOJSPVUSPTUJQPT"GJHVSB
BTFHVJSEFNPOTUSBFTTBIJFSBSRVJB
'JHVSB6.-CÈTJDBEB)JFSBSRVJBEF$MBTTFEPIPTQJUBM
6.1 HERANÇA 83
Funcionario IFSEPVEF Pessoa
'JHVSB&TQFDJBMJ[BÎÍPFHFOFSBMJ[BÎÍP
"MHVOTDVJEBEPTEFWFNTFSUPNBEPTRVBOEPVTBNPTBIFSBOÎB
DPNP POEF DPMPDBS PT BUSJCVUPT F NÏUPEPT F RVBOEP SFBMNFOUF
EFWFNPTVTÈMB$BTPPTNFNCSPTTFKBNEFGJOJEPTOBDMBTTFFSSBEB
TJUVBÎÜFT FTESÞYVMBT QPEFN PDPSSFS QPJT OÍP SFQSFTFOUBSÍP B
SFBMJEBEF 1PS FYFNQMP OP DPOUFYUP EP IPTQJUBM TF GPS MFWBEP FN
DPOTJEFSBÎÍP RVF B IFSBOÎB FTUÈ TFOEP VTBEB TØ QFMP SFÞTP F OÍP
QFMPTTVCUJQPT TFSJBNBJTGÈDJMFYJTUJSTPNFOUFEVBTDMBTTFTGJMIBTEF
QFTTPB Paciente F Funcionario "TTJN B DMBTTF Pessoa
QPEFSJBQPTTVJSMPHPPBUSJCVUP$3.QBSBDPOTFHVJSSFQSFTFOUBSVN
GVODJPOÈSJPNÏEJDP
84 6.1 HERANÇA
NÏUPEPT1PSGJN TØTFQPEFVTBSBIFSBOÎBDBTPBQFSHVOUBNÈHJDB
TFKBWFSEBEFJSBVNBDPJTBÏBPVUSB
String nome;
String sexo;
Date dataInternacao;
Date dataAdmissao;
String matricula;
Date CRM;
6.1 HERANÇA 85
void operar() {
// implementação desejada
}
}
Date CRA;
void liberarPagamento() {
// implementação desejada
}
}
//C#
class Pessoa
{
String nome;
String sexo;
Date dataInternacao;
Date dataAdmissao;
String matricula;
Date CRM;
86 6.1 HERANÇA
void Operar()
{
// implementação desejada
}
}
Date CRA;
void LiberarPagamento()
{
// implementação desejada
}
}
05*10%&%"%0%"5&
6.1 HERANÇA 87
/" )&3"/±" 6." 46#$-"44& 5&. "$&440 " 50%04 04 .&.#304 %"
461&3$-"44&
5JQPTEFDMBTTF
&N SFMBÎÍP B DPNP JEFOUJGJDBS BT DMBTTFT OB IFSBOÎB BMÏN EPT
DPODFJUPT EF TVQFSDMBTTF F TVCDMBTTF FYJTUFN BJOEB EPJT PVUSPT
NPEPTEFDPNPSFQSFTFOUBSBTDMBTTFTBCTUSBUBTFDPODSFUBT
1PS OÍP WBMFS B QFOB USBCBMIBS EJSFUBNFOUF DPN FMBT FMBT UÐN
VNBDBSBDUFSÓTUJDBJNQPSUBOUFOÍPQPEFNTFSJOTUBODJBEBT0VTFKB
OÍPQPEFNPTDSJBSPCKFUPTEJSFUBNFOUFBQBSUJSEFMBT"PUFOUBSNPT
VTBS P PQFSBEPS new DPN VNB DMBTTF BCTUSBUB VN FSSP EP
DPNQJMBEPS JOGPSNBSÈ RVF DMBTTFT BCTUSBUBT OÍP QPEFN TFS
JOTUBODJBEBT
1PSTFSFNEFVTPJOEJSFUP HFSBMNFOUFDMBTTFTBCTUSBUBTFTUÍPOP
UPQPEBIJFSBSRVJBEFDMBTTF0FYFNQMPEPIPTQJUBMJMVTUSBCFNFTUB
TJUVBÎÍP 6UJMJ[BS EJSFUBNFOUF PCKFUPT EP UJQP Pessoa UBMWF[ OÍP
88 6.1 HERANÇA
TFKBÞUJM BGJOBM ÏNVJUPJNQPSUBOUFJEFOUJGJDBSRVFNÏ Paciente
Medico Funcionario QBSB FTUF OJDIP EF OFHØDJP $BEB VN
FYFDVUBSÈ VNB UBSFGB EJGFSFOUF EFOUSP EP IPTQJUBM F EFWFSÈ TFS
USBUBEPEBGPSNBBEFRVBEB&OUÍP FNCPSBJOJDJBMNFOUFOÍPUFOIB
TFEFGJOJEPBDMBTTF Pessoa DPNP BCTUSBUB BHPSB Ï QPTTÓWFM GB[FS
JTUP F BTTJN PCSJHÈMB B NBOJQVMBS TPNFOUF TVBT TVCDMBTTFT 0
DØEJHP B TFHVJS JMVTUSB DPNP GB[FS JTTP QPS NFJP EP BDSÏTDJNP EB
QBMBWSBSFTFSWBEB abstract
//Java
abstract class Pessoa {
String nome;
String sexo;
//C#
abstract class Pessoa
{
String nome;
String sexo;
6.1 HERANÇA 89
UPQP NBTUBNCÏNOPNFJPEBIJFSBSRVJBEFDMBTTF&TUBOÍPÏVNB
TJUVBÎÍPNVJUPDPNVN NBT EFQFOEFOEPEBOFDFTTJEBEF QPEFTFS
GFJUP 5PEBWJB B SFHSB EF BUÏ OÓWFJT EF IFSBOÎB EFWF TFS
MFNCSBEB
//Java
abstract class Funcionario extends Pessoa {
Date dataAdmissao;
String matricula;
Date CRM;
void operar() {
// implementação desejada
}
}
...
//C#
abstract class Funcionario : Pessoa
{
Date dataAdmissao;
String matricula;
Date CRM;
90 6.1 HERANÇA
void Operar()
{
// implementação desejada
}
}
...
"MÏNEFEFGJOJSBDMBTTFDPNPBCTUSBUBRVFTFSWJSÈEFNPMEF
QBSB PVUSBT DMBTTFT QPEFNPT UBNCÏN EFGJOJS NÏUPEPT DPNP
BCTUSBUPT " JEFJB EF EFGJOJS VN NÏUPEP DPNP BCTUSBUP Ï QBSB RVF
FMF UBNCÏN TJSWB EF NPMEF 1BSB JTTP FMF OÍP EFWF QPTTVJS VNB
JNQMFNFOUBÎÍP NBTTJNBQFOBTBEFGJOJÎÍPEFTVBBTTJOBUVSB
.ÏUPEPTBCTUSBUPTTØQPEFNTFSEFGJOJEPTFNDMBTTFTBCTUSBUBT
1PSÏN DMBTTFT BCTUSBUBT QPEFN UBNCÏN QPTTVJS NÏUPEPT OÍP
BCTUSBUPT PV TFKB RVF QPTTVBN TVB JNQMFNFOUBÎÍP 2VBOEP P
DPODFJUPEFQPMJNPSGJTNPGPSFYQMJDBEP GJDBSÈNBJTDMBSPQBSBRVF
TFSWF VN NÏUPEP BCTUSBUP 1PS FORVBOUP BQFOBT TFSÈ NPTUSBEP
DPNPEFGJOJMP
//Java
abstract class Medico extends Funcionario {
// atributos
//Método abstrato
abstract void operar();
//C#
6.1 HERANÇA 91
abstract class Medico : Funcionario
{
// atributos
//Método abstrato
abstract void Operar();
92 6.1 HERANÇA
6. ".*(0 .&6 %*44& 26& $0/4&(6*6 */45"/$*"3 &. 6." $-"44&
"#453"5"&-&²6..&/5*3040 06&6²26&/°04&*%&/"%"
4FGBMÈTTFNPTEF$MBTTFT"OÙOJNBT EFWFSÓBNPTUBNCÏNGBMBS
EF $MBTTFT *OUFSOBT QPSÏN NBJT VNB WF[ FTUBSÓBNPT
BWBOÎBOEP "QØT B MFJUVSB EFTUF MJWSP QSPDVSFN QPS FTTFT
DPODFJUPT QPJTTÍPCBTUBOUFÞUFJT
"HPSBÏBWF[EFGBMBSEBTDMBTTFTDPODSFUBT2VBOEPVNBDMBTTF
OÍPÏBCTUSBUB FMBTØQPEFTFSDPODSFUB"PDPOUSÈSJPEBTBCTUSBUBT
FTUBTOÍPTÍPHFOÏSJDBT NBTTJNCFNFTQFDÓGJDBT&MBTSFQSFTFOUBNP
DPODFJUP EF VTP EJSFUP RVF EFWF TFS USBCBMIBEP F QPS JTTP OÍP TØ
QPEFN DPNP EFWFN TFS JOTUBODJBEBT .BOJQVMÈMBT Ï WJUBM QBSB P
CPNGVODJPOBNFOUPEBBQMJDBÎÍP
6.1 HERANÇA 93
/PTFYFNQMPTJOJDJBJTTPCSFIFSBOÎB UÓOIBNPTDPMPDBEPBDMBTTF
Pessoa DPNP DPODSFUB QPJT BJOEB OÍP FSB DPOIFDJEP P DPODFJUP
EFDMBTTFBCTUSBUBF DPOTFRVFOUFNFOUF BQBMBWSB abstract .BT
DPNPEFTFOSPMBSEPTFYFNQMPT OPUBNPTRVFÏPNBJTDPSSFUPFSB
EFGJOJMB DPNP BCTUSBUB OP DPOUFYUP EP IPTQJUBM &OUÍP P VTP EB
QBMBWSB abstract QBSB B EFGJOJÎÍP EF DMBTTFT BCTUSBUBT EFWF TFS
VUJMJ[BEP RVBOEP IPVWFS B OFDFTTJEBEF EF BQMJDBS P DPODFJUP EF
BCTUSBÎÍP GPSEFHSBOEFWBMPSDPODFJUVBMFSFMFWBOUFQBSBPDPOUFYUP
EB BQMJDBÎÍP $BTP JTTP OÍP TF BQMJRVF Ï TØ OÍP VTBS FTUB QBMBWSB
BTTJN FTUBSFNPT DSJBOEP DMBTTFT DPODSFUBT RVF EFWFSÍP TFS
NBOJQVMBEBTEJSFUBNFOUF
5JQPTEFIFSBOÎB
&YJTUFNEPJTUJQPTEFIFSBOÎBBTJNQMFTFBNÞMUJQMB
94 6.1 HERANÇA
DMBTTFCBTF/ÍPTFSÈBQSFTFOUBEPOFOIVNDØEJHP QPJTFTTFUJQPEF
IFSBOÎBKÈWFNTFOEPVTBEP
"TTJN QPEFSJBTVSHJSVNOPWPDPODFJUPFVNBDMBTTFDIBNBEB
ChefeDeEquipe RVBMIFSEBSJBEBTDMBTTFT Medico F Gerente
/FTUB TJUVBÎÍP B TVCDMBTTF ChefeDeEquipe QPTTVJSJB EVBT
TVQFSDMBTTFT Medico F Gerente &TUFÏVNFYFNQMPEFIFSBOÎB
NÞMUJQMB 6NB DMBTTF EFSJWBEB QSFDJTPV EF EVBT TVQFSDMBTTFT QBSB
QPEFS TFS DPNQMFUB 4F NBJT DMBTTFT GPTTFN OFDFTTÈSJBT NBJT
TVQFSDMBTTFTQPEFSJBNTFSVUJMJ[BEBT
.BT QBSB OÍP QBTTBS FN CSBODP F B UÓUVMP EF DVSJPTJEBEF TFSÈ
BQSFTFOUBEPDPNPGB[FSIFSBOÎBNÞMUJQMBFN C++ RVBMUBNCÏNÏ
VNBMJOHVBHFNPSJFOUBEBBPCKFUPTCFNDPOIFDJEB
6.1 HERANÇA 95
class ChefeDeEquipe: Medico, Gerente {
...
026&-&706+"7"&$"/°01044*#*-*5"3&.)&3"/±".Á-5*1-"
3FTQPTUBDPOGMJUPEFOPNFT
96 6.1 HERANÇA
MJOHVBHFNNBJTSÈQJEB
6QDBTUFEPXODBTU
2VBOEP USBCBMIBNPT DPN IFSBOÎB QPEFN TVSHJS EVBT
PQFSBÎÜFTSFBMJ[BEBTDPNPTPCKFUPTRVFGPSBNDSJBEPTBQBSUJSEBT
DMBTTFTFOWPMWJEBTFNVNBIJFSBSRVJBEFDMBTTFVQDBTUFEPXODBTU
5PEPTFTUFTFYFNQMPTNPTUSBNRVFBTTVCDMBTTFTTÍPEPNFTNP
UJQPRVFTVBTTVQFSDMBTTFT&OUÍP DBTPGPTTFOFDFTTÈSJP VNVQDBTU
QPEFSJB TFS SFBMJ[BEP FOUSF PT PCKFUPT RVF GPSBN DSJBEPT B QBSUJS
EFTUBT DMBTTFT " TFHVJS WFKB PT DØEJHPT FN Java F C# RVF
JMVTUSBNPVQDBTU
//Java
Pessoa pessoa;
6.1 HERANÇA 97
pessoa = new Medico();
//C#
Pessoa pessoa;
98 6.1 HERANÇA
DPOWFSUJEBTFNTVCDMBTTFT1PSÏN FNCPSBTFKBVNDPODFJUPWÈMJEP
FTUF EFWF TFS EFTFODPSBKBEP *TUP PDPSSF QPSRVF QPEFN PDPSSFS
WÈSJBTFTQFDJBMJ[BÎÜFTEJTUJOUBTBQBSUJSEFVNBHFOFSBMJ[BÎÍP
/PDPOUFYUPEPIPTQJUBM ÏEFDPOIFDJNFOUPRVFUPEPNÏEJDPÏ
VNGVODJPOÈSJP UPEPHFSFOUFÏVNGVODJPOÈSJP NBTOFNUPEPTPT
GVODJPOÈSJPTTÍPNÏEJDPT"QSPWBEJTTPÏPRVFBDBCPVEFTFSEJUP
UPEPHFSFOUFÏVNGVODJPOÈSJP&YJTUFNEJWFSTPTUJQPTEJTUJOUPTEF
GVODJPOÈSJPT F DBEB VN UFN TVB DMBTTF QSØQSJB EF SFGFSÐODJB 1PS
JTTP P EPXODBTU EFWF TFS FWJUBEP " TFHVJS WFKB PT DØEJHPT FN
Java F C# RVFJMVTUSBNPEPXODBTURVFGVODJPOBNBUÏVNDFSUP
QPOUP
//Java
//C#
6.1 HERANÇA 99
BSNB[FOBNPCKFUPT Funcionario TF DPNPKÈUJOIBTJEPEJUP OFN
UPEPGVODJPOÈSJPÏHFSFOUF QPJTFYJTUFNNÏEJDPT FOUSFPVUSPT
'JHVSB6QDBTUF%PXODBTU
0QPMJNPSGJTNP
&N EFUFSNJOBEPT NPNFOUPT FN VNB IJFSBSRVJB EF DMBTTFT
QSFDJTBNPTRVFVNNFTNPNÏUPEP OPNFFMJTUBEFQBSÉNFUSP PV
TFKB BTTJOBUVSB TF DPNQPSUF EF GPSNB EJGFSFOUF EFQFOEFOEP EP
PCKFUP JOTUBODJBEP B QBSUJS EF VNB DMBTTF EF VNB IJFSBSRVJB
RVBMRVFS *TUP TVSHF EFWJEP Ë OFDFTTJEBEF EF GMFYJCJMJEBEF RVF B
IJFSBSRVJBEFDMBTTFEFTFKBGPSOFDFS1PSFYFNQMP TBCFNPTRVFDBEB
UJQPEFNÏEJDPQPEFUFSVNBGPSNBEJGFSFOUFEFSFBMJ[BSTVBBÎÍPEF
PQFSBSVNQBDJFOUFEFBDPSEPDPNPQSPDFEJNFOUP&NVNQBSUP
QPSFYFNQMP PBOFTUFTJTUBBQMJDBVNBJOKFÎÍPBOFTUÏTJDB PPCTUFUSB
SFBMJ[B B QSFQBSBÎÍP F SFUJSBEB EB DSJBOÎB P QFEJBUSB SFBMJ[B VN
DPOKVOUPEFWFSJGJDBÎÜFTQBSBBUFTUBSBTBÞEFEPSFDÏNOBTDJEPFUD
void realizarParto() {
medico.operar();
}
}
}
//C#
class Parto : Procedimento
{
void RealizarParto()
{
medico.Operar();
}
}
}
@Override
void operar() {
// passos a serem seguidos para aplicar a anestesia
}
}
@Override
void operar() {
// passos a serem seguidos para realizar o parto em si
@Override
void operar() {
// passos a serem seguidos para averiguar a saúde do recém
-nascido
}
}
//C#
class Anestesista : Medico
{
4&3«26&5&/)06.10-*.03'*4.0/&45"4*56"±°0
"SFTQPTUBÏOÍP*TTPÏBQFOBTVNBHSBOEFDPJODJEÐODJB1BSB
UFSNPT QPMJNPSGJTNP UFNPT EF UFS VNB B SFMBÎÍP EF IFSBOÎB
FOUSFDMBTTFT
"TPCSFTDSJUB
$PNP P QSØQSJP OPNF TVHFSF TPCSFTDSJUB Ï RVBOEP VNB
FTDSJUB VNBJNQMFNFOUBÎÍPEFVNNÏUPEP TPGSFVNBFTDSJUBQPS
DJNB PV TFKB Ï SFEFGJOJEB " TPCSFTDSJUB Ï VUJMJ[BEB RVBOEP Ï
OFDFTTÈSJP NPEJGJDBS VN DPNQPSUBNFOUP IFSEBEP &TTB BMUFSBÎÍP
1PS FYFNQMP GPJ WJTUP OP QSPDFEJNFOUP EF VN QBSUP RVF P
BOFTUFTJTUB Ï P SFTQPOTÈWFM QPS BQMJDBS BT JOKFÎÜFT EF BOFTUÏTJDPT
QBSBPQBSUPQPEFSTFSSFBMJ[BEP/FTUFDBTP BDMBTTF Anestesista
QPTTVJ VNB JNQMFNFOUBÎÍP FTQFDÓGJDB QBSB P NÏUPEP operar
QPEFS SFBMJ[BS TFVT QBTTPT $BTP VN SFTJEFOUF EF BOFTUFTJTUB
QBSUJDJQBTTFEFTUFQBSUP FMFQSPWBWFMNFOUFOÍPFYFDVUBSJBUPEPTPT
QBTTPT RVF VN NÏEJDP FYQFSJFOUF FYFDVUB &MF QPEFSJB FOUÍP TFS
VNBTVCDMBTTFEF Anestesista FTPCSFTDSFWFSPNÏUPEP operar
QBSBBTTJNSFBMJ[BSBQFOBTPRVFFMFQVEFTTFGB[FS"DPEJGJDBÎÍPB
TFHVJSFYFNQMJGJDBPFYQPTUP
//Java
class Anestesista extends Medico {
void operar() {
// Calcular quantidade de anestésico
// Esterilizar local de aplicação
// Aplicar injeções
// Monitorar sensibilidade
// ...
}
}
@Override
void operar() {
// Calcular quantidade de anestésico
// Esterilizar local de aplicação
}
}
//C#
class Anestesista : Medico
{
void Operar()
{
// Calcular quantidade de anestésico
// Esterilizar local de aplicação
// Aplicar injeções
// Monitorar sensibilidade
//Java
class ResidenteAnestesista extends Anestesista {
@Override
void operar() {
super.operar();
// passos especificos para a sobrscrita.
//C#
class ResidenteAnestesista : Anestesista
{
}
}
4JNFOÍP%PQPOUPEFWJTUBEFJNQMFNFOUBÎÍP SFBMNFOUFPT
EPJT TÍP JEÐOUJDPT NBT DPODFJUVBMNFOUF TÍP EJGFSFOUFT "
TPCSFTDSJUB TPCSFTDSFWF BMHP FYJTUFOUF OP DBTP VN
DPNQPSUBNFOUP QBESÍP EB TVQFSDMBTTF %F BDPSEP DPN B
OFDFTTJEBEF QPEFNPT NVEÈMP PV OÍP +È OP QPMJNPSGJTNP
OÍP IÈ OFDFTTJEBEF EF TF UFS VN DPNQPSUBNFOUP QBESÍP BUÏ
QPSRVF DPNP KÈ GPJ EJUP HFSBMNFOUF P NÏUPEP OP RVBM
EFTFKBNPTQSPWFSPDPNQPSUBNFOUPQPMJNØSGJDPÏBCTUSBUP
""440$*"±°0
"UÏ P NPNFOUP GPJ WJTUP BQFOBT VN UJQP EF SFMBDJPOBNFOUP B
IFSBOÎB &TUF Ï ÞUJM QBSB RVBOEP QSFDJTBNPT PCUFS VN SFÞTP EF
NFNCSPT F QSJODJQBMNFOUF VNB EFGJOJÎÍP EF TVCUJQPT &NCPSB
FTUBT TJUVBÎÜFT TFKBN DPNVOT F ÞUFJT FN BQMJDBÎÜFT PSJFOUBEBT B
PCKFUPT OÍPÏBÞOJDBOFDFTTJEBEFEFSFMBDJPOBNFOUP1PSFYFNQMP
GPJ WJTUP RVF OP IPTQJUBM FYJTUFN WÈSJPT UJQPT EF NÏEJDPT &OUÍP
QBSBQPEFSNPTBQMJDBSPSFÞTPFBFTQFDJBMJ[BÎÍP GPJDSJBEPBDMBTTF
Medico FBTDMBTTFT Anestesista Obstetra FOUSF BT EFNBJT
TFOEP RVF B QSJNFJSB GPJ EFGJOJEB DPNP BCTUSBUB F BT EFNBJT
IFSEBSBNEFTUB"UÏFTUFNPNFOUP UVEPDFSUP
$PNP KÈ GPJ WJTUP OB TFÎÍP EF IFSBOÎB B IFSBOÎB UFN DPNP
GJOBMJEBEF QPTTJCJMJUBS B DSJBÎÍP EF TVCUJQPT NBJT EP RVF SFVUJMJ[È
MPT &OUÍP DBCF VNB QFSHVOUB VN FOEFSFÎP Ï VN BOFTUFTJTUB
&WJEFOUFNFOUF RVF OÍP -PHP B IFSBOÎB TFSJB VNB FTDPMIB GBMIB
QBSB SFQSFTFOUBS P SFMBDJPOBNFOUP FOUSF B DMBTTF Endereco F
Medico
Date CRM;
void operar() {
// implementação desejada
}
}
//C#
abstract class Medico : Funcionario
{
Date CRM;
void Operar()
{
// implementação desejada
}
}
//C#
$0.104*±°0&"(3&("±°04°0*%³/5*$04²*440.&4.0
.BJTVNBWF[ TJNFOÍP%PQPOUPEFWJTUBEFJNQMFNFOUBÎÍP
SFBMNFOUF PT EPJT TÍP JEÐOUJDPT NBT DPODFJUVBMNFOUF TÍP
EJGFSFOUFTDPNPKÈWJNPT)ÈBJOEBVNRVFTUJPOBNFOUPFOUSF
FTUFTTFTÍPJHVBJTFNJNQMFNFOUBÎÍPOÍPTFSJBTPNFOUFVNB
BTTPDJBÎÍP QPSRVFFOUÍPFTTBEJWJTÍP &TTFRVFTUJPOBNFOUPÏ
VN UFSSFOP GÏSUJM QBSB NVJUBT EJTDVTTÜFT .VJUPT EJ[FN RVF
FTUFTOÍPQFSUFODFB0SJFOUBÎÍPB0CKFUPT NBTTJNB6.-+È
PVUSPT QFOTBN P DPOUSÈSJP 1BSUJDVMBSNFOUF DPOTJEFSP RVF
QFSUFODF B BNCPT QPSRVF TF VTP VNB MJOHVBHFN PSJFOUBEB B
PCKFUPT DPOTFRVFOUFNFOUF VTBSFJ 6.- 4F WPV JNQMFNFOUBS
VTBOEP PCKFUPT F GB[FS TVB NPEFMBHFN VTBOEP 6.- UFSFJ EF
UFSVNBDPOWFSHÐODJBEFDPODFJUPTEFBNCPT QBSBBTTJNPCUFS
NFMIPSFTSFTVMUBEPT
"HPSB FTUB BTTPDJBÎÍP GB[ QBSUF EF VN NÏUPEP TFKB BUSBWÏT EF
TFV QBSÉNFUSP PV EF VNB JOTUBODJBÎÍP EJSFUB FN TFV DPSQP +È GPJ
"TDBSBDUFSÓTUJDBTEFVNBBTTPDJBÎÍPVOÈSJB NÞMUJQMB
DBSEJOBMJEBEFFOBWFHBCJMJEBEF
"T BTTPDJBÎÜFT QPTTVFN BMHVNBT DBSBDUFSÓTUJDBT RVF WJTBN
GBDJMJUBSBTVBVTBCJMJEBEFFUBNCÏNPTFVFOUFOEJNFOUP"TFHVJS
TFSÍPEFNPOTUSBEBTTJUVBÎÜFTRVFWJTBNFYQPSUBJTDBSBDUFSÓTUJDBT
(FSBMNFOUF PTIPTQJUBJTBUFOEFNQBDJFOUFTBUSBWÏTEFVNQMBOP
EF TBÞEF /FTUFT QMBOPT FYJTUF VN DPODFJUP RVF Ï P CFOFGJDJÈSJP
VNB QFTTPB RVF QPTTVJ VN QMBOP QBSB DPCSJS TVBT OFDFTTJEBEFT
NÏEJDBT &TTF CFOFGJDJÈSJP UFSNJOB TF USBOTGPSNBOEP OP QBDJFOUF
RVBOEPFMFÏBUFOEJEPOPIPTQJUBM
String nome;
Date dataNascimento
String tipoBeneficiario;
Beneficiario dependente;
// gets/sets
// métodos afins
//C#
class Beneficiario
{
String nome;
Date dataNascimento
String tipoBeneficiario;
Beneficiario dependente;
// gets/sets
// métodos afins
}
Sala sala;
}
//C#
class Parto : Procedimento
{
Sala sala;
}
1PSGJN WBNPTWFSBOBWFHBCJMJEBEF&MBQPEFTFSVOJEJSFDJPOBM
PV CJEJSFDJPOBM " QSJNFJSB EFUFSNJOB RVF B BTTPDJBÎÍP BDPOUFDF
TPNFOUF EF VN MBEP /P DBTP EB DMBTTF Parto P UJQP Ï
VOJEJSFDJPOBM QPJT TØ Ï SFMFWBOUF TBCFS B TBMB OB RVBM P QBSUP TFSÈ
FYFDVUBEP"TTJNDSJPVTFVNBUSJCVUPFN Parto EPUJQP Sala
$BTP GPTTF OFDFTTÈSJP TBCFS B RVBM QSPDFEJNFOUP VNB TBMB
QFSUFODFTTF EFWFSÓBNPT FOUÍP UFS VN WFUPS EF Parto OB DMBTTF
Sala QPJT TØ BTTJN TFSJB QPTTÓWFM PCUFS FTTB SBTUSFBCJMJEBEF "P
GB[FS JTUP B OBWFHBCJMJEBEF UPSOBSJBTF CJEJSFDJPOBM QPJT BT EVBT
DMBTTFTFOWPMWJEBTUJOIBNVNBBSFGFSÐODJBEBPVUSB7FKBBTFHVJSB
DPEJGJDBÎÍP
//Java
class Parto extends Procedimento {
Sala sala;
}
class Sala {
Parto[] partos;
//C#
Sala sala;
}
class Sala
{
Parto[] partos;
"*/5&3'"$&
&N BMHVNBT BQMJDBÎÜFT PSJFOUBEBT B PCKFUPT RVF OFDFTTJUBN EF
VNBNPEFMBHFNVNQPVDPNBJTFMBCPSBEB NVJUBTWF[FTÏQSFDJTP
EFUFSNJOBS VN DPOKVOUP EF NÏUPEPT RVF EFWFN PCSJHBUPSJBNFOUF
TFS VTBEPT 1PSÏN DPNP FTTFT NÏUPEPT TFSÍP SFBMNFOUF
JNQMFNFOUBEPT OÍP JNQPSUB RVFN EFGJOJV UBM DPOKVOUP &TTB
PCSJHBUPSJFEBEFEFEFGJOJÎÍPEFNÏUPEPTÏDIBNBEPEFJOUFSGBDF
*OUFSGBDFEFGJOFVNDPOUSBUPRVFEFWFTFSTFHVJEPQFMBDMBTTFRVF
BJNQMFNFOUB2VBOEPVNBDMBTTFJNQMFNFOUBVNBJOUFSGBDF FMBTF
DPNQSPNFUF B SFBMJ[BS UPEPT PT DPNQPSUBNFOUPT RVF B JOUFSGBDF
EJTQPOJCJMJ[B
2VBOEPVNPVUSPIPTQJUBMGPSSFQBTTBSTVBTJOGPSNBÎÜFTQBSBP
NJOJTUÏSJP FTUF UBNCÏN EFWFSÈ JNQMFNFOUBS B NFTNB JOUFSGBDF
&OUSFUBOUP B TVB JNQMFNFOUBÎÍP QPEFSÈ TFS DPNQMFUBNFOUF
EJGFSFOUF FN SFMBÎÍP BP QSJNFJSP IPTQJUBM &TTB TJUVBÎÍP SFGPSÎB B
EFGJOJÎÍP EF JOUFSGBDF Ï PCSJHBUØSJP TF QSPWFS P DPNQPSUBNFOUP
NBTDPNPFTUFTFSÈSFBMJ[BEPQBSBBJOUFSGBDFÏJSSFMFWBOUF"TFHVJS
WFKBDPNPDSJBSVNBJOUFSGBDFFDPNPDMBTTFTQPEFNVUJMJ[ÈMB
//Java
interface IDemonstrativoOperacional {
double disponibilizarFaturamentoMensal();
Procedimento[] informarProcedimentoExecutados();
}
@Override
public double disponibilizarFaturamentoMensal() {
// implementação específica para o hospital conseguir info
rmar seu faturamento mensal.
}
@Override
public Procedimento[] informarProcedimentoExecutados() {
// implementação específica para o hospital conseguir info
rmar os procedimento executados.
}
//C#
double DisponibilizarFaturamentoMensal();
Procedimento[] InformarProcedimentoExecutados();
}
"TTJN DPNP FYJTUF VNB QBMBWSB SFTFSWBEB QBSB TF DSJBS VNB
DMBTTF class FYJTUFVNBQBSBBJOUFSGBDF OPDBTP interface
5BOUPFN Java RVBOUPFN C# BQBMBWSBÏBNFTNB1PSÏN QBSB
VUJMJ[BS B JOUFSGBDF PDPSSF VNB QFRVFOB NVEBOÎB &N Java
EFWFNPT VTBS B QBMBWSB SFTFSWBEB implements F FN C# NBJT
VNBWF[PTÓNCPMP :
.²50%0 $0. ; 4&. $)"7&4 & 4&. $0310 *440 ² 6. .²50%0
"#453"50
4JN 1PS QBESÍP UPEP NÏUPEP EF VNB JOUFSGBDF Ï BCTUSBUP &
QPSTFSQBESÍP OÍPQSFDJTBNPTDPMPDBSBQBMBWSB abstract
4FTVBJEFJBÏGPSOFDFSPDPOUSBUPEFJNQMFNFOUBÎÍP NBTOÍP
RVFS TF QSFPDVQBS DPN B JNQMFNFOUBÎÍP FN TJ OBEB NFMIPS
EPRVFVUJMJ[BSVNNÏUPEPBCTUSBUP
4JN F P MJWSP FTUÈ DFSUP " JOUFSGBDF TF DPNQPSUB DPNP VNB
DMBTTFBCTUSBUB TØRVFNBJTSFTUSJUJWB&NDMBTTFTBCTUSBUBT GPJ
WJTUP RVF TF OFDFTTÈSJP QPEFNPT UFS NÏUPEPT OÍP BCTUSBUPT
.BTFNVNBJOUFSGBDFJTTPOÍPÏQPTTÓWFM
2VBOEPVNBUSJCVUPÏDPOTUBOUFTJHOJGJDBRVFTFVWBMPSOÍP
NVEB4FVWBMPSJOJDJBMEFWFTFSEFGJOJEPOPNPNFOUPEFTVB
DSJBÎÍP PV OP DPOTUSVUPS F OÍP NVEBSÈ NBJT EVSBOUF B
FYFDVÎÍP EB BQMJDBÎÍP " MJOHVBHFN C KÈ EJTQPOJCJMJ[B FTTF
SFDVSTP CBTUBTFMFNCSBSEP const &N Java PFRVJWBMFOUF
ÏBQBMBWSB final F FN C# BQBMBWSB readonly
...
interface IDois {
...
...
//C#
interface IUm
{
...
interface IDois
{
...
...
//C#
class Classe1 : CLasse0, IUm, IDois {
...
3&46.*/%0
'PSBNNVJUPTDPODFJUPT4PNBOEPTFBPTEPDBQÓUVMPBOUFSJPS
GPSBNWJTUPTBUÏBHPSBNBJTEFDPODFJUPTQBSBDSJBSUVEPPRVFGPS
QSFDJTP QBSB TF USBCBMIBS DPN B 0SJFOUBÎÍP B 0CKFUPT &OUSFUBOUP
BJOEBFYJTUFNNBJTBMHVOT4FTPNFOUFPTDPODFJUPTBUÏBHPSBWJTUPT
KÈ TÍP TVGJDJFOUFT EF FNCBSBMIBS P SBDJPDÓOJP JNBHJOF PT DØEJHPT
HFSBEPT
&ÏKVTUBNFOUFQBSBFWJUBSFTTFFNCBSBMIBNFOUPEFSBDJPDÓOJP
F QSJODJQBMNFOUF EF DØEJHP RVF PT QSØYJNPT F GJOBJT DPODFJUPT
FYJTUFN7BNPTMÈ FTUÈRVBTFBDBCBOEP
04$0/$&*504
03("/*;"$*0/"*4
1"$05&4
² DPNVN TVSHJS B TFHVJOUF TJUVBÎÍP P TJTUFNB UFSÈ EF[FOBT EF
DMBTTFT RVF SFQSFTFOUBSÍP PT DPODFJUPT EP EPNÓOJP EB BQMJDBÎÍP
DPNP DMBTTFT VUJMJUÈSJBT DMBTTFT EF BDFTTP B CBODPT EF EBEPT FOUSF
PVUSPT UJQPT QPTTÓWFJT 1PSÏN TF TJNQMFTNFOUF EFJYBSNPT UPEBT
FTUBT KVOUBT GJDBSÈ EJGÓDJM EF BDIBS VNB DMBTTF RVBOEP EFTFKBEP "
NJTUVSBEFDMBTTFTDPNGJOBMJEBEFTFDPODFJUPTEJGFSFOUFTEJGJDVMUBB
PSHBOJ[BÎÍPFQFTRVJTB²QBSBJTTPRVFFYJTUFNPTQBDPUFT
...
package entidades;
...
package integracaoMinisterio;
interface IDemonstrativoOperacional {
...
package integracaoMinisterio;
...
0DØEJHPBOUFSJPSNFOUFBQSFTFOUBEPNPTUSBVNBOPWBQBMBWSB
package ²KVTUBNFOUFFMBRVFDSJBQBDPUFTFN Java "PVTBSNPT
FTUB QBMBWSB P Java DSJB VNB QBTUB OP TJTUFNB EF BSRVJWPT EP
DPNQVUBEPS DPN P JOUVJUP EF KVOUBS BT DMBTTFT RVF QPTTVBN
SFQSFTFOUBUJWJEBEFT TFNFMIBOUFT 1BSB QPTTJCJMJUBS JTUP DBEB DMBTTF
EFWF EFDMBSBS B EFGJOJÎÍP EF QBDPUF EF GPSNB JHVBM DPNP GPJ GFJUP
OBTDMBTTFTEPQBDPUFEFFOUJEBEFT package entidades
'JHVSB1BDPUFTFN+BWB
...
}
}
namespace entidades
{
...
}
}
namespace integracaoMinisterio;
{
interface IDemonstrativoOperacional {
...
}
}
namespace integracaoMinisterio
{
...
}
}
&NCPSBBJNBHFNEFJYFDMBSPRVFPOPNFEBOBNFTQBDFUFOIB
GJDBEP JHVBM BP EB QBTUB DSJBEB BJOEB Ï QPTTÓWFM TF OFDFTTÈSJP
BMUFSBSPOPNFEBOBNFTQBDFTFNBMUFSBSPOPNFEBQBTUB*TTPTØ
SFGPSÎBBJEFJBEFRVF C# QPTTJCJMJUBVNBPSHBOJ[BÎÍPMØHJDBFOÍP
GÓTJDBEBTDMBTTFT
3FBMNFOUFTFOÍPUJWFTTFVNBGPSNBEFQPTTJCJMJUBSRVFDMBTTFT
EF QBDPUFT F OBNFTQBDFT EJGFSFOUF TF FOYFSHBTTFN EF OBEB
BEJBOUBSJBBPSHBOJ[BÎÍP&OUÍP EFWFNPTJOGPSNBSPOEFDBEB
DMBTTFTFFODPOUSB QBSBBTTJNFMBTTFFOYFSHBSFN
import entidades.Medico;
...
//C#
using entidades.Medico;
namespace integracaoMinisterio
{
...
}
}
$PNFÎBOEPQFMBWJTJCJMJEBEFNBJTSFTUSJUJWB OFTUFDBTPBQSJWBEB
private &TUB WJTJCJMJEBEF EFGJOF RVF BUSJCVUPT F NÏUPEPT TØ
QPEFNTFSNBOJQVMBEPTBQFOBTOPMPDBMEFTVBEFGJOJÎÍP0VTFKB TF
NFNCSPTGPSFNEFGJOJEPTDPNFTTBWJTJCJMJEBEF FMFTTØQPEFSÍPTFS
NBOJQVMBEPTEFOUSPEBDMBTTFPOEFGPSBNEFGJOJEPT"TFHVJS WFKB
DPNPVUJMJ[BSFTUBWJTJCJMJEBEFFTFVTFGFJUPT
// gets/sets
//1
String nome = beneficiario.nome;
//2
beneficiario.idade();
}
//C#
public class Beneficiario
{
private String nome;
Date dataNascimento
private String tipoBeneficiario;
Endereco endereco;
// gets/sets
//1
String nome = beneficiario.nome;
0TDØEJHPTBQSFTFOUBEPTBQPVDPBQSFTFOUBSJBNFSSPTFNF
QPJT DPNP PT BUSJCVUPT F NÏUPEPT GPSBN EFGJOJEPT DPNP
private TØ TÍP BDFTTÓWFJT EFOUSP EB DMBTTF Beneficiario /B
DMBTTF TestePrivate ÏJNQPTTÓWFMBDFTTBSFTUFT&NSFMBÎÍPBPVTP
EF private FN C# BMHPNBJTQPEFTFSEJUPTFOÍPTFEFGJOJSVN
BUSJCVUP DPNP private EF GPSNB FYQMJDJUB DPNP FN private
String nome QPS QBESÍP B MJOHVBHFN BTTVNF RVF FTUB Ï B
WJTJCJMJEBEF EFTFKBEB *TUP PDPSSF FN Endereco endereco QPS
FYFNQMP +È FN Java DBTP TF EFTFKF VN BUSJCVUP private Ï
OFDFTTÈSJPGB[ÐMPTFNQSFEFGPSNBFYQMJDJUB
/ÍPTØTFSWF DPNPÏBQSJODJQBMWJTJCJMJEBEF²DPNPVTPEFMB
RVF BMHVOT EPT QSJODJQBJT GVOEBNFOUPT EB 0SJFOUBÎÍP B
0CKFUPTTÍPJNQMFNFOUBEPT
6."0653"0#4&37"±°0
package entidades;
package entidades;
//1
String texto = nome;
//2
metodo1();
}
}
package entidades;
//3
String texto = nome;
//4
}
}
//C#
namespace entidades
{
public class Funcionario
{
protected String nome;
namespace entidades
{
public class Medico : Funcionario {
//1
String texto = nome;
//2
Metodo1();
}
}
}
namespace entidades
{
public class Paciente
{
//4
metodo1();
}
}
}
//demais get/set
}
//C#
public class Endereco
{
//demais get/set
}
1PS TFS VNB WJTJCJMJEBEF EF VTP MJWSF GPJ NPTUSBEB BQFOBT B
FYFNQMJGJDBÎÍPEBEFGJOJÎÍP/ÍPÏOFDFTTÈSJPFYFNQMJGJDBSTFVVTP
KÈRVF QPSTFSEFBDFTTPMJWSF CBTUBVUJMJ[ÈMPEBGPSNBRVFKÈWJOIB
TFOEP FYQPTUB OBT PVUSBT WJTJCJMJEBEFT 4Ø RVF BHPSB OFOIVN FSSP
PDPSSFSÈ
1FMB0SJFOUBÎÍPB0CKFUPT TÍPTPNFOUFFTTFTNPEJGJDBEPSFT
EF BDFTTP &OUSFUBOUP BMHVNBT MJOHVBHFOT QSPWFFN
WJTJCJMJEBEFT B NBJT .BT FTUBT OÍP GB[FN QBSUF EB UFPSJB EB
001PSFYFNQMP FN Java FYJTUF B WJTJCJMJEBEF default
FN RVF NFNCSPT F DMBTTFT EFGJOJEPT DPN FTUB QPEFN TFS
VTBEPTQPSDMBTTFTEFOUSPEFVNNFTNPQBDPUF JOEFQFOEFOUF
EF RVBMRVFS SFMBDJPOBNFOUP FOUSF FMBT +È C# QPTTVJ B
internal RVFQPTTJCJMJUBRVFNFNCSPTFDMBTTFTQPTTBNTFS
VUJMJ[BEPT FN RVBMRVFS MVHBS EP QSPKFUP NBT MJNJUB P VTP
EFTUFTBQFOBTBPQSPKFUPDPSSFOUF
0VUSBTMJOHVBHFOTEFGJOFNPVUSBTWJTJCJMJEBEFTEFBDPSEPDPN
B TVB OFDFTTJEBEF .BT P GBUP Ï RVF FTUBT WJTJCJMJEBEFT
QSPQSJFUÈSJBTOÍPQFSUFODFNËUFPSJBEB0SJFOUBÎÍPB0CKFUPT
F ËT WF[FT BUÏ WÍP DPOUSB BMHVOT EF TFVT QSFDFJUPT 4F
SFBMNFOUFQSFDJTBSVTÈMBT GBÎBDPNDVJEBEP
1PSGJN OPDBQÓUVMP0TDPODFJUPTSFMBDJPOBJTIBWJBVNBDBJYB
DPNPTFHVJOUFUÓUVMP/BIFSBOÎB VNBTVCDMBTTFUFNBDFTTPBUPEPT
PTNFNCSPTEBTVQFSDMBTTF "SFTQPTUBFSB4JNFOÍP"HPSBRVF
BT WJTJCJMJEBEFT GPSBN BQSFTFOUBEBT QPEFNPT SFTQPOEFS NFMIPS B
FTUBQFSHVOUB
"65*-*;"±°0
$0-0$"/%0".°0/"."44"
+È WJNPT RVF NVJUP NBJT EP RVF VNB GPSNB EF QSPHSBNBS B
0SJFOUBÎÍP B 0CKFUP Ï VNB GPSNB EF NPEFMBS NFMIPS VNB
SFQSFTFOUBÎÍPNBJTSFBMJTUBEBTOFDFTTJEBEFTEFTJTUFNBTBGJOT$PN
JTTP VNEPTQSJNFJSPTQBTTPTRVFEFWFNPTSFBMJ[BSRVBOEPWBNPT
JOJDJBS VN QSPKFUP PSJFOUBEP B PCKFUPT Ï FOUFOEFS P EPNÓOJP EP
TJTUFNBRVFTFEFTFKBEFTFOWPMWFS²BQBSUJSEFTUFQSPDFTTPRVFTFSÈ
140 8 A UTILIZAÇÃO
QPTTÓWFM JEFOUJGJDBS BT FOUJEBEFT PCKFUPT DPN TFVT BUSJCVUPT F
NÏUPEPT RVFPTJTUFNBNBOJQVMBSÈ
0EPNÓOJPEPTJTUFNBIPTQJUBMBS
$PNP JOGPSNBEP BOUFSJPSNFOUF P TJTUFNB IPTQJUBMBS TFSÈ
DPNQMFUP BUÏ DFSUP QPOUP *TTP TJHOJGJDB RVF OÍP TFSÈ SFBMNFOUF
JNQMFNFOUBEP VN TJTUFNB DPNQMFUP QPJT VN TJTUFNB EFTUF UJQP
QPTTVJ DFOUFOBT EF DMBTTFT 4FSJB JOWJÈWFM FYQPS UPEBT FTUBT OFTUF
MJWSP $PN JTTP VN TVCDPOKVOUP EFTUF UJQP EF TJTUFNB TFSÈ
NPEFMBEPFJNQMFNFOUBEP&TUFTFSÈTVGJDJFOUFQBSBEFNPOTUSBSBT
BQMJDBÎÜFTEPTDPODFJUPTEB00RVFGPSBNBQSFTFOUBEPTOFTUFMJWSP
0EPNÓOJPEFTUFTJTUFNBÏBQSFTFOUBEPBTFHVJS
0QSPDFTTPEFNPEFMBHFN
" EFTDSJÎÍP EP EPNÓOJP EP TJTUFNB EFJYPV DMBSP RVBJT BT
QSJODJQBJT FOUJEBEFT B TFSFN NBOJQVMBEBT NÏEJDP QBDJFOUF
DPOTVMUBFQSPDFEJNFOUP1PSÏN VNQSPDFEJNFOUP RVFHFSBMNFOUF
ÏUBNCÏNDIBNBEPEFDJSVSHJB BDPOUFDFFNVNBTBMB&OUÍP NBJT
FTTBFOUJEBEFUBNCÏNTFSÈUSBCBMIBEBBTBMB"MÏNEJTUP QBDJFOUFF
NÏEJDPT QPTTVFN VN FOEFSFÎP MPHP VNB OPWB FOUJEBEF B TFS
USBCBMIBEB
"MÏN EJTUP GPJ EJUP RVF FYJTUJBN EPJT UJQPT EF QSPDFEJNFOUPT
GBSJOHPQMBTUJB F OFVSPDJSVSHJB $PN JTTP NBJT VNB TVQFSDMBTTF
UBNCÏN BCTUSBUB QPEF TFS DSJBEB Procedimento "T TVCDMBTTFT
EFTUBTFSÍP Faringoplastia F Neurocirurgia "TTJN BIFSBOÎB
TFSÈVUJMJ[BEB/PDPOUFYUPEPQSPDFEJNFOUP TFSÈQPTTÓWFMFYQMPSBS
PQPMJNPSGJTNP
"QØTPQSPDFTTPEFSFDPOIFDJNFOUPEBTFOUJEBEFT ÏBIPSBEF
EFGJOJS PT TFVT BUSJCVUPT F NÏUPEPT 0MIBOEP QBSB BT FOUJEBEFT
WÈSJPTBUSJCVUPTQPEFNTFSEFGJOJEPT1PSÏN TFSÍPEFGJOJEPTBQFOBT
PTRVFNBJTUFSÍPVUJMJEBEFQBSBPDPOUFYUPEPIPTQJUBMRVFTFEFTFKB
PCUFS"TFHVJS WFKBBMJTUBHFNEPTBUSJCVUPT
Pessoa
- String nome
- Date dataNascimento
- Endereco endereco
Paciente
- String CPF
- Plano plano
Medico
- int CRM
- Especialidade[] especialidades
- double valorHora
Endereco
Plano
- String nome
- double mensalidade
Consulta
- Paciente paciente
- Medico medico
- Date data
- String receituario
- double valor
Especialidade
- String nome
Procedimento
- Paciente paciente
- Medico[] medicos
- Date data
- Sala sala
- String observacoes
- double valor
- int tempoDuracao
Sala
- String nome
'JHVSB.PEFMBHFNDPNBUSJCVUPT
Paciente
Medico
Consulta
Procedimento
ITransmissaoDadosMinisterioSaude
+ void gerarDados()
/PUF RVF OB MJTUBHFN BMHVNBT DMBTTFT OÍP GPSBN DJUBEBT DPN
TFVT NÏUPEPT *TTP PDPSSF QPSRVF OFN UPEB DMBTTF UFN B NFTNB
JNQPSUÉODJB EFOUSP EP TJTUFNB DPNP QPS FYFNQMP Plano /P
DPOUFYUPEPIPTQJUBM OÍPUFSJBOFDFTTJEBEFEFFYJTUJSVNQMBOPRVF
0NFTNPQSJODÓQJPTFBQMJDBBFOEFSFÎPFFTQFDJBMJEBEF MFWBOEP
FN DPOTJEFSBÎÍP PT EFWJEPT SFMBDJPOBNFOUPT " DMBTTF BCTUSBUB
Pessoa GPJDSJBEBBQFOBTQBSBHFOFSBMJ[BSPTDPODFJUPTEF Medico
F Paciente %FWJEPBJTUP BTVCUJQJGJDBÎÍPF DPOTFRVFOUFNFOUF P
SFÞTPEFBUSJCVUPTTÍPBMDBOÎBEPT5BNCÏNEFWJEPBJTUP FTUBDMBTTF
QPTTVJ BQFOBT PT NÏUPEPT CÈTJDPT RVF QSBUJDBNFOUF RVBMRVFS
FOUJEBEF EF VN TJTUFNB PSJFOUBEP B PCKFUPT QSPWÐ DBEBTUSP
QFTRVJTB JODMVTÍP F DPOTVMUB +È B Procedimento RVF UBNCÏN Ï
BCTUSBUB QPTTVJ BMHVOT NÏUPEPT QPS FYFNQMP P double
caucularTotal() RVFUBNCÏNÏBCTUSBUP
'JHVSB.PEFMBHFNDPNBUSJCVUPTFNÏUPEPT
0QSPDFTTPEFDPEJGJDBÎÍP
5FOEPEFGJOJEPUPEPPNPEFMPEFEPNÓOJPEBBQMJDBÎÍP ÏIPSB
.FTNPDPNFTUBTSFTTBMWBT FTUBGPSNBEFQSPHSBNBÎÍPÏNVJUP
VTBEB F JTTP PDPSSF QPSRVF FMB GBDJMJUB P QSPDFTTP EF DPEJGJDBÎÍP
UPSOBOEPPDØEJHPNFOPTDPNQMFYPFGBDJMJUBOEPTFVFOUFOEJNFOUP
2VBOUP NBJT SFMBDJPOBNFOUPT FYJTUJSFN FOUSF BT FOUJEBEFT EB
BQMJDBÎÍP NBJTFTTBBCPSEBHFNNPTUSBSÈPTFVWBMPS7FKBBTFHVJS
VNFYFNQMPEFBQMJDBÎÍPEFTUBBCPSEBHFN
//Java
public class CarrinhoDeCompras {
//C#
public class CarrinhoDeCompras
{
public Produto[]
{
set {this.produtos = value;}
get {return this.produtos;}
}
}
//C#
public class CarrinhoDeCompras
{
5FOEPBHPSBBQSFTFOUBEPFTUFTEPJTDBNJOIPT BQFSHVOUBWPMUB
RVBMWFSUFOUFTFHVJS "SFTQPTUBÏTJNQMFTBRVFNFMIPSTFBEFRVBS
ËT OFDFTTJEBEFT EB BQMJDBÎÍP &TUF MJWSP OÍP UFN DPNP GJOBMJEBEF
DBUFRVJ[BSPTJOJDJBOUFTFNEFUFSNJOBEPDBNJOIP NBTTJNNPTUSBS
UPEBT BT QPTTJCJMJEBEFT QBSB QPEFS DSJBS QSPKFUPT PSJFOUBEPT B
PCKFUPTEFTVDFTTP EFTEFPTDPODFJUPTBUÏBTTVBTVUJMJ[BÎÜFT&QBSB
TF DIFHBS B FTTF QPOUP TPNFOUF TFSÈ QPTTÓWFM DPN VNB BOÈMJTF
DSÓUJDB F EFUBMIBEB "RVJ FTUÍP TFOEP EBEBT BT GFSSBNFOUBT
OFDFTTÈSJBTQBSBTFBUJOHJSUBMPCKFUJWP
$BTP TF RVFJSB CBJYBS UPEPT EF VNB WF[ VUJMJ[BS P MJOL
IUUQTHJUIVCDPNUIJBHPMFJUFFDBSWBMIPFYFNQMPT-JWSP
*OGFMJ[NFOUF OÍPÏQPTTÓWFMOFTUBTFÎÍPFYJCJSUPEPTPTDØEJHPT
EBTWFSTÜFTEBBQMJDBÎÍP"MÏNEFTFSFNFYUFOTPT OÍPGBDJMJUBSJBB
MFJUVSBFPSHBOJ[BÎÍP1PSUBOUP ÏÞUJMGB[FSVNBBOÈMJTFEFUBMIBEBEB
TFÎÍP BOUFSJPS DPOGSPOUBOEPB DPN PT DØEJHPT EJTQPOJCJMJ[BEPT
"MÏNEJTUP VNBBOÈMJTFTPCSFBBCPSEBHFN#VTTJOFTT0CKFDU #0 F
OÍPBOÐNJDBEFWFTFSGFJUB%FGPSNBJOUSPEVUØSJBTPCSFFTUBBOÈMJTF
FMB BGFUB BUÏ B GPSNB EF EFGJOJÎÍP EPT QBDPUFT F OBNFTQBDFT EB
BQMJDBÎÍP"TBQMJDBÎÜFTSPEBNEJSFUBNFOUFOP Eclipse F Visual
Studio
&TUFÏVNFYFNQMPDMÈTTJDPEFFODBQTVMBNFOUP1BSBRVFNWBJ
VTBSBBQMJDBÎÍP OÍPJNQPSUBDPNPÏPQSPDFTTPEFMFJUVSBEFEBEPT
EP UFDMBEP P RVF JOUFSFTTB Ï P SFTVMUBEP .BT DBTP B DVSJPTJEBEF
TVSKB VNBBOBMJTBEBOFTUBTDMBTTFTTFSÈEFCPNQSPWFJUP&MBTUFSÍP
BMHVNBT GBDJMJEBEFT RVF Java F C# EJTQPOJCJMJ[BN QBSB P
EFTFOWPMWJNFOUPEFBQMJDBÎÜFT
&45".0426"4&"$"#"/%0
/FTUFDBQÓUVMP B0SJFOUBÎÍPB0CKFUPTGPJVUJMJ[BEBOBGPSNBRVF
FMB TF QSPQÜF TFS VNB GPSNB EF NPEFMBS F QSPHSBNBS 'PJ GFJUB
JOJDJBMNFOUF VNB NPEFMBHFN EP TJTUFNB EP IPTQJUBM B QBSUJS EF
VNB EFTDSJÎÍP GPSOFDJEB %FQPJT GPSBN JEFOUJGJDBEBT BT FOUJEBEFT
BDPNQBOIBEP EF TFVT BUSJCVUPT F NÏUPEPT 5BNCÏN GPSBN
GPSOFDJEBT BQMJDBÎÜFT EF FYFNQMP RVF DPEJGJDBN B NPEFMBHFN
QSPQPTUB
#0"413«5*$"4/0640
%"03*&/5"±°0"
0#+&504
1BSBUFOUBSFWJUBSUBJTTJUVBÎÜFTBEWFSTBT QPEFNPTVTBSGPSNBT
BWBOÎBEBTEFTF USBCBMIBSDPN 0SJFOUBÎÍPB0CKFUPT UBJTDPNP EF
1BESÜFTEF1SPKFUP1PSÏN QBSBVNBVUJMJ[BÎÍPDPSSFUBRVFUSBHBPT
HBOIPT FTQFSBEPT Ï OFDFTTÈSJB VNB DFSUB FYQFSJÐODJB FN
QSPHSBNBÎÍP PSJFOUBEB B PCKFUPT 4Ø BTTJN FTUBT F PVUSBT GPSNBT
BWBOÎBEBT TFSÍP FOUFOEJEBT EF GPSNB FGJDB[ F DPOTFRVFOUFNFOUF
TFSÍPBQMJDBEBTOPNPNFOUPDFSUPFDPSSFUBNFOUF
5PEBWJB OÍPQPEFNPTFTQFSBSBUÏFTTBFYQFSJÐODJBDIFHBSQBSB
BTTJNUFOUBSTPMVDJPOBSGBMIBTBOUFSJPSFT PVNFTNPFWJUÈMBT/FTUF
DBQÓUVMP TFSÈ BQSFTFOUBEP VN QFRVFOP DBUÈMPHP EF CPBT QSÈUJDBT
RVF BKVEBN B JOJDJBS P VTP EB 00 QBSB BTTJN QSPWFS VN BUBMIP B
FTUF MPOHP DBNJOIP PCUFS TVDFTTPT F FODVSUBS P UFNQP QBSB VNB
NFMIPS BQMJDBCJMJEBEF 4ÍP CPBT QSÈUJDBT TJNQMFT NBT RVF BKVEBN
$PNP KÈ WJNPT OP DPNFÎP EP MJWSP B GBMUB EF DPFTÍP MFWB B
DMBTTFT JODIBEBT RVF NJTUVSBN SFTQPOTBCJMJEBEFT " TFHVJS WFKB
VNBDMBTTFOÍPDPFTB
//Java
public class Venda {
//C#
class Venda
{
private String nomeCliente;
private String cpfCliente;
private String enderecoEntrega;
private int cep;
private Debito pagamento;
private Produto[] produtos;
private String nomeVendedor;
private double comissaoVendedor;
}
//C#
public class Venda
{
private Cliente cliente;
private Endereco endereco;
private Debito pagamento;
private Produto[] produtos;
private Vendedor vendedor;
}
1FSDFCBRVFBMHVNBTDBSBDUFSÓTUJDBTTVNJSBN QPJTOPWBTDMBTTFT
GPSBNDSJBEBTQBSBBSNB[FOBSUBJTJOGPSNBÎÜFT FBTTJNSFUJSÈMBTEB
DMBTTF Venda /FTUF DBTP BT BTTPDJBÎÜFT BKVEBSBN B DSJBS VNB
DMBTTFNBJTDPFTB
&OUSFUBOUP BJOEBFYJTUFBMHPBTFSNFMIPSBEPOFTUFFYFNQMPP
BDPQMBNFOUP/PUFRVFFYJTUFVNBDPQMBNFOUPNVJUPBMUP PVTFKB
Venda EFQFOEFEFPVUSBDMBTTFEFGPSNBNVJUPGPSUF*TUPBDPOUFDF
DPN B DMBTTF Debito $BTP B WFOEB QSFDJTF UFS PVUSB GPSNB EF
QBHBNFOUP VNBHSBOEFBMUFSBÎÍPUFSJBEFTFSSFBMJ[BEBQBSBQPEFS
BDFJUBSFTTBOPWBNPEBMJEBEF OPDBTPDBSUÍP
$BEBVNBEFTTBTGPSNBTEFQBHBNFOUPUSBCBMIBJTPMBEBNFOUF F
EFQFOEFS EJSFUBNFOUF EFMB UFSNJOB DVMNJOBOEP FN VNB GPSUF
EFQFOEÐODJB EB DMBTTF Venda DPN FTUFT QBHBNFOUPT QPJT
BMUFSBÎÜFT OP QBHBNFOUP BDBCBN SFGMFUJOEP UBNCÏN OB DMBTTF
Venda "GJHVSBBTFHVJSJMVTUSBUBMTJUVBÎÍP
'JHVSB"DPQMBNFOUPGPSUF
%FTUBGPSNB QPEFSÓBNPTNVEBSBGPSNBEFQBHBNFOUPTFNRVF
HSBOEFT BMUFSBÎÜFT OB WFOEB GPTTFN OFDFTTÈSJBT " GJHVSB B TFHVJS
SFQSFTFOUB P NFTNP NPEFMP TØ RVF DPN PT BDPQMBNFOUPT NBJT
GSBDPT
'JHVSB"DPQMBNFOUPGSBDP
&TUBÏBGPSNBNBJTDMÈTTJDBEFBDPQMBNFOUP.BTUBNCÏNQPEF
TFSOPUBEPOBEFQFOEÐODJBEFNÏUPEPTFOUSFTJ FOUSFPVUSBTGPSNBT
0 JNQPSUBOUF Ï UFS FN NFOUF RVF EFWFNPT UPSOBS P BDPQMBNFOUP
GMFYÓWFM
#164&453*/(4$0.1"3$*.¼/*"
//C#
public class Cliente
{
private String nome;
private String dataAniversario;
private String sexo;
private String endereco;
}
" QSJNFJSB WJTUB FTUB DMBTTF OÍP QPTTVJ QSPCMFNB BMHVN .FSB
JMVTÍP &YJTUFN FSSPT HSBWFT OB TVB EFGJOJÎÍP RVF JOJDJBOUFT
DPNVNFOUFDPNFUFNPVTPFYDFTTJWPEPUJQPUFYUP OPDBTPTUSJOH
*TTP HFSBMNFOUF PDPSSF EFWJEP B FTUF TVQPSUBS UPEP UJQP EF WBMPS
&OUSFUBOUP FTUBGBDJMJEBEFUFSNJOBHFSBOEPQSPCMFNBTGVUVSPT
3FBMNFOUF FTTFÏVNOPWPUJQPEFEBEP²VNBGBDJMJEBEFRVF
BMHVNBT MJOHVBHFOT PSJFOUBEBT B PCKFUPT GPSOFDFN $PNP KÈ
EJUPBOUFSJPSNFOUF FMF ÏVTBEP QBSBDSJBSVN DPOKVOUPGJYP F
MJNJUBEPEFWBMPSFT$BTPUFOIBNPTBTJUVBÎÍPDJUBEB ÏNFMIPS
DSJBS Enum EPRVFDSJBSUPEPVNBFTUSVUVSBEFQSPHSBNBÎÍP
QBSBNBOUFSB GJYBÎÍPF MJNJUBÎÍPEFWBMPSFT 7FKBB TFHVJS
DPNPEFGJOJSVN Enum FN Java FFN C#
//Java
public Enum Sexo {
MASCULINO,
FEMINIO;
}
//C#
public Enum Sexo
{
MASCULINO,
FEMINIO;
}
//C#
public class Cliente
{
private String nome;
private Date dataAniversario;
private Sexo sexo;
private Endereco endereco;
}
/PUFVNBSFQSFTFOUBUJWJEBEFNBJTBMJOIBEBDPNBSFBMJEBEFEF
DPODFJUPTFNBOJQVMBÎÍP
#14&+"0#+&5*70 /°05&/5&13&7&3
0'65630
²NVJUPDPNVNJOJDJBOUFTOB00QFOTBSFNEBTFHVJOUFGPSNB
6TBSIFSBOÎBTØDPNPJOUVJUPEFSFÞTPÏVNFRVÓWPDP²DPNP
VNB DPOTFRVÐODJB QPS OÍP TFS B SFBM BQMJDBCJMJEBEF EB IFSBOÎB "
HSBOEF WBOUBHFN EF TFV VTP Ï B DSJBÎÍP EF TVCUJQPT RVF TÍP
DPODFJUPT SFBJT EP EJB B EJB 0 VTP EF IFSBOÎB Ï CPN F EFWF TFS
FODPSBKBEP NBTOPNPNFOUPDFSUP
1PSFYFNQMP TFPTJTUFNBTØUSBUBSEFWFOEBTBQFTTPBTGÓTJDBT
FOUÍPOÍPQSFDJTBNPTDSJBSVNBDMBTTFDIBNBEB Pessoa F EFQPJT
VNB DIBNBEB PessoaFisica RVF IFSEB EF Pessoa /ÍP TFSÈ
SFBMJ[BEBWFOEBTQBSBQFTTPBTKVSÓEJDBT&OUÍPQPSRVFTFQSFPDVQBS
FN SFÞTP TF FMF OB WFSEBEF OÍP TFSÈ OFDFTTÈSJP $BTP VN EJB B
TJUVBÎÍP NVEF F B WFOEB QBSB QFTTPB KVSÓEJDB TF UPSOF SFBMJEBEF
FOUÍP VNB FWPMVÎÍP EFWF TFS GFJUB OP TJTUFNB QBSB USBUBS FTTB
TJUVBÎÍP/FTUFDBTP BDMBTTF Pessoa DPNFÎBBNPTUSBTFVWBMPS
%BNFTNBGPSNB VTBSBBTTPDJBÎÍPTØQBSBSFÞTPUBNCÏNQPEF
TFSVNFRVÓWPDPÏQSFDJTPFYJTUJSVNSFMBDJPOBNFOUPSFBMFOUSFPT
DPODFJUPTQBSBRVFFMFTQPTTBNTFBTTPDJBS&NBNCPTPTDBTPT EFWF
FYJTUJS VNB MJHBÎÍP DPODFJUVBM FOUSF PT DPODFJUPT QBSB RVF TF
6NBNPEFMBHFNFGJDJFOUFÏBRVFMBRVFTVQSFBTOFDFTTJEBEFTEP
NPNFOUP NBT RVF QPTTB TFS FWPMVÓEB GBDJMNFOUF .PEFMBHFOT
FYUSFNBNFOUFGMFYÓWFJTUFSNJOBNQPSUPSOBSPNPEFMPDPNQMFYP
DPNBDPQMBNFOUPGPSUF EJGÓDJMEFFOUFOEFSFNBOUFS
...
this.cabecalho.setTitulo("Pedidos Cliente");
this.cabecalho.setTipo("Analitico");
this.cabecalho.setDataInicial(dataInicial);
this.cabecalho.setDataFinal(dataFinal);
this.cabecalho.setNomeCliente(nomeCliente);
this.cabecalho.setCpfCliente(cpfCliente);
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
this.resumo.setValorTotalPedidos(valorTotalPedidos);
this.resumo.setTotalPedidos(produtos.length);
this.rodape.setDataGeracao(new Date());
this.rodape.setUsuarioImpressao(nomeUsuarioLogado);
this.rodape.setMatriculaImpressao(matriculaUsuarioLoga
do);
} else if ("QUANTITATIVO".equals(tipoRelatorio)) {
this.cabecalho.setTitulo("Pedidos Cliente");
this.cabecalho.setTipo("Quantidativo");
this.cabecalho.setDataInicial(dataInicial);
this.cabecalho.setDataFinal(dataFinal);
this.cabecalho.setNomeCliente(nomeCliente);
this.cabecalho.setCpfCliente(cpfCliente);
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
this.resumo.setValorTotalPedidos(valorTotalPedidos);
this.resumo.setTotalPedidos(produtos.length);
this.rodape.setDataGeracao(new Date());
this.rodape.setUsuarioImpressao(nomeUsuarioLogado);
this.rodape.setMatriculaImpressao(matriculaUsuarioLoga
do);
...
}
//C#
public class RelatorioCliente
{
...
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++)
{
Produto produto = pedidos[i].Produto;
valorTotalPedidos = valorTotalPedidos + produto.Pr
eco;
}
this.resumo.ValorTotalPedidos = valorTotalPedidos;
this.resumo.TotalPedidos = produtos.length;
}
else if ("QUANTITATIVO".Equals(tipoRelatorio))
{
this.cabecalho.Titulo = "Pedidos Cliente";
this.cabecalho.Tipo = "Quantidativo";
this.cabecalho.DataInicial = dataInicial;
this.cabecalho.DataFinal = dataFinal;
this.cabecalho.NomeCliente = nomeCliente;
this.cabecalho.CpfCliente = cpfCliente;
this.resumo.ValorTotalPedidos = valorTotalPedidos;
this.resumo.TotalPedidos = produtos.length;
...
}
5BNBOIP
/PUF RVF FMF UFN NVJUBT MJOIBT EF DØEJHP QPSRVF UFSNJOB
SFBMJ[BOEP NVJUBT PQFSBÎÜFT 4FSJB VNB CPB QSÈUJDB EJWJEJMP FN
NÏUPEPT NFOPSFT QBSB BTTJN GBDJMJUBS TFV FOUFOEJNFOUP 2VBOUP
NBJT MJOIBT VN NÏUPEP UFN NBJT EJGÓDJM GJDB TFV FOUFOEJNFOUP
"UVBMNFOUF FMF QPTTVJ MJOIBT *NBHJOF NÏUPEPT DPN
MJOIBT
"TFHVJS WFKBDPNPPNÏUPEPGJDBSJBDPNFTTBNFMIPSJB
...
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
} else if ("QUANTITATIVO".equals(tipoRelatorio)) {
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
//C#
public class RelatorioCliente
{
...
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++)
{
Produto produto = pedidos[i].Produto;
valorTotalPedidos = valorTotalPedidos + produto.Pr
eco;
}
}
else if ("QUANTITATIVO".Equals(tipoRelatorio))
{
this.cabecalho = MontarCabecalho("Pedidos Cliente", "Q
uantidativo", dataInicial, dataFinal, nomeCliente, cpfCliente);
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++)
{
Produto produto = pedidos[i].Produto;
valorTotalPedidos = valorTotalPedidos + produto.Pr
eco;
}
{
// aqui ficaria o código responsável por preencher o cabeç
alho, que antes estava dentro do método PedidosCliente.
}
3FQFUJÎÍPEFDØEJHP
.FTNP UFOEP BQMJDBEP B NFMIPSJB EF UBNBOIP BJOEB UFNPT
VNB PVUSB B TFS BQMJDBEB OP DPSQP EFTTFT NÏUPEPT /P DBTP P
QSPCMFNBBHPSBÏBSFQFUJÎÍPEPDÈMDVMPEPWBMPSUPUBMEPTQSPEVUPT
"QMJDBOEPFTUBNFMIPSJB PDØEJHPGJDBSJBEBTFHVJOUFGPSNB
//Java
public class RelatorioCliente {
...
} else if ("QUANTITATIVO".equals(tipoRelatorio)) {
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
return valorTotalPedidos;
}
...
}
//C#
public class RelatorioCliente
{
...
{
// aqui ficaria o código responsável por preencher o cabeç
alho, que antes estava dentro do método PedidosCliente.
}
double valorTotalPedidos = 0;
for(int i = 0; i < pedidos.length; i++) {
return valorTotalPedidos;
}
...
}
1BSÉNFUSPT
1PS GJN WFKBNPT PT QBSÉNFUSPT EP NÏUPEP &NCPSB QPTTB
QBSFDFSOBUVSBMQBTTBSUPEPTFTUFTQBSÉNFUSPTQBSBPNÏUPEP BGJOBM
FSBBTTJNRVFTFGB[JBDPN C OPNVOEPPSJFOUBEPBPCKFUPFTTB
OÍP Ï VNB CPB QSÈUJDB ² DPNVN WFS DØEJHP EF JOJDJBOUFT
DPNFUFOEP FTTF UJQP EF NÈ QSÈUJDB "P BOBMJTBSNPT NFMIPS P
...
...
...
}
//C#
public class RelatorioCliente
{
...
...
}
...
...
}
//C#
public class RelatorioCliente
{
...
...
}
$PNJTUP BUÏBBTTJOBUVSBEPNÏUPEPGJDPVNFOPSFNBJTMFHÓWFM
²DPNVNWFSDØEJHPTEFJOJDJBOUFTDPNNÏUPEPTQPTTVJOEP
QBSÉNFUSPT
1BSBGJOBMJ[BSB#1 BJOEBQPEFNPTEJ[FSBMHPBNBJTTPCSFB
MJTUBEFQBSÉNFUSPT2VBOUPNBJTTFVTBNQBSÉNFUSPTEFTBTTPDJBEPT
F FN HSBOEF RVBOUJEBEF NBJT BDPQMBNFOUP TF DSJB DPN FTUF
NÏUPEP 4F BMHVN EJB VN OPWP QBSÉNFUSP RVF EJHB SFTQFJUP BP
DMJFOUF UJWFS EF TFS BEJDJPOBEP QSPWBWFMNFOUF QSFDJTBSÍP TFS
DPSSJHJEPT WÈSJPT QPOUPT EB BQMJDBÎÍP &OUSFUBOUP TF VN PCKFUP
DMJFOUF GPS QBTTBEP BT DIBNBEBT B FTUF NÏUPEP GJDBSÍP JOUBDUBT
#BTUBSÈ GB[FS B NBOVUFOÎÍP SFRVFSJEB OP NÏUPEP RVF SFDFCF FTUF
QBSÉNFUSPFPQSFFODIJNFOUPEPOPWPBUSJCVUPPOEFGPSOFDFTTÈSJP
#1$0/)&±"&64&$0-&±¿&4
"UÏPNPNFOUP RVBOEPFSBOFDFTTÈSJPBSNB[FOBSPCKFUPT FSBN
VUJMJ[BEPT PT WFUPSFT BSSBZT &NCPSB TFKB B QSJNFJSB GPSNB EF
5BNBOIPGJYP
4F VN WFUPS EF JOUFJSPT DPN QPTJÎÜFT GPS DSJBEP F FN
EFUFSNJOBEP NPNFOUP GPS OFDFTTÈSJP VNB QPTJÎÍP VN
QFRVFOPUSBCBMIPUFSÈEFTFSSFBMJ[BEPDSJBSVNOPWPWFUPS BHPSB
DPNQPTJÎÜFT FEFQPJTDPQJBSPTWBMPSFTEPWFUPSBOUJHPQBSBP
OPWP
%JGJDVMEBEFEFQFTRVJTB
4F GPS OFDFTTÈSJP FODPOUSBS VN FMFNFOUP EFOUSP EF VN WFUPS
OÍP UFNPT P RVF GB[FS Ï OFDFTTÈSJP QFSDPSSÐMP QBSB WFSJGJDBS TF P
JUFNEFTFKBEPFODPOUSBTFEFOUSPEFMF/PQJPSEPTDBTPT PWFUPSÏ
UPUBMNFOUFQFSDPSSJEPQBSBTFDIFHBSËDPODMVTÍPEFRVFPJUFNOÍP
FTUÈ EFOUSP EFMF &NCPSB NBJT VNB WF[ QPTTB QBSFDFS ØCWJP F
JOFWJUÈWFMUBMTJUVBÎÍP FMBQPEFTFSNFMIPSBEB
$POUSPMFEFJOTFSÎÍP
4FGPSOFDFTTÈSJPBWFSJHVBSTFVNOPWPJUFNKÈFYJTUFEFOUSPEP
WFUPS QBSB QPEFS BEJDJPOÈMP OPWBNFOUF TF UPSOBN QSFTFOUFT PT
QSPCMFNBTEFUBNBOIPGJYPFEJGJDVMEBEFEFQFTRVJTB4FOÍPFYJTUJS
F P WFUPS FTUJWFS DIFJP TFSÈ QSFDJTP DSJBS VN OPWP F GB[FS B DØQJB
1BSB QPEFS DIFHBS B FTTB DPODMVTÍP FMF UBMWF[ UFOIB EF TFS
QFSDPSSJEPDPNQMFUBNFOUF
&TUBTFTUSVUVSBTOÍPTÍPBTNBJTGMFYÓWFJTEFTFUSBCBMIBS1PSÏN
FTTB GMFYJCJMJEBEF QPEF MFWBS B VNB DPNQMFYJEBEF EF NBOJQVMBÎÍP
QSJODJQBMNFOUFFNMJOHVBHFOTFTUSVUVSBTDPNP C 4FSÈOFDFTTÈSJP
NBOJQVMBSQPOUFJSPT FJTUPQPEFTFSUSBCBMIPTPFQSPQÓDJPBFSSPT
-JTUBT
%JGFSFOUF EPT WFUPSFT VNB MJTUB OÍP QPTTVJ UBNBOIP GJYP &MB
QPEFDSFTDFSEF BDPSEPDPN BOFDFTTJEBEF"MÏN EJTUP P QSPDFTTP
EF JODMVTÍP Ï TJNQMJGJDBEP EFWJEP B OÍP TFS QSFDJTP GB[FS DØQJB EF
VNBMJTUBQBSBPVUSB ArrayList FN Java F List FN C# TÍPBT
DMBTTFT SFTQPOTÈWFJT QPS SFQSFTFOUBS FTTB FTUSVUVSB " TFHVJS WFKB
FYFNQMPTEFDPNPVTÈMBT
//Java
import java.util.ArrayList;
//2
for(String item: listaNomes) {
System.out.println(item.getNome());
}
//3
System.out.println(listaNomes.contains(new Aluno("Cicrano"
)));
//4
listaNomes.remove(new Aluno("Cicrano"));
listaNomes.remove(1);
System.out.println(listaNomes.size());
//5
for(Aluno item: listaNomes) {
System.out.println(item);
}
}
}
//C#
using System.Collections.Generic;
//1
listaNomes.Add(new Aluno("Fulnano"));
listaNomes.Add(new Aluno("Cicrano"));
listaNomes.Add(new Aluno("Beltrano"));
System.Console.WriteLine(listaNomes.Count);
//2
foreach (Aluno item in listaNomes)
{
System.Console.WriteLine(item.Nome);
}
//4
listaNomes.Remove(new Aluno("Cicrano"));
listaNomes.RemoveAt(1);
System.Console.WriteLine(listaNomes.Count);
//5
foreach (Aluno item in listaNomes)
{
System.Console.WriteLine(item);
}
System.Console.ReadLine();
}
}
"QØT DSJBS BT MJTUBT FN //1 TÍP BDSFTDFOUBEPT JUFOT F TVB
DBQBDJEBEF Ï BQSFTFOUBEB /PUF B QSBUJDJEBEF &N //2 B MJTUB Ï
QFSDPSSJEB F FYJCJEB 6N EFUBMIF B NBJT QPEF TFS FYQMJDBEP FN
//2 P for -JOHVBHFOT PSJFOUBEBT B PCKFUPT QPTTVFN FTTF GPS
FTQFDJBM QBSB QFSDPSSFS BT DPMFÎÜFT 1FSDFCB RVF FMFT TÍP NBJT
TJNQMFTEPRVFPUSBEJDJPOBM for FN RVF Ï OFDFTTÈSJP DSJBS VNB
WBSJÈWFMQBSBDPOUSPMFFJODSFNFOUP&TUF for QFSDPSSFDPMFÎÜFTEF
PCKFUPTEFGPSNBNBJTBNJHÈWFM
&N //3 Ï QPTTÓWFM WFSJGJDBS TF EFOUSP EB MJTUB FYJTUF P JUFN
Cicrano &N //4 ÏSFNPWJEPPJUFN Cicrano F MPHPEFQPJT P
JUFNEBQPTJÎÍP$PNFTUFQFRVFOPFYFNQMP MPHPÏQPTTÓWFMWFSB
GBDJMJEBEFEFNBOJQVMBÎÍPEFTUBDPMFÎÍP
.BQBT
//1
map.put("A1", new Aluno("Fulano"));
map.put("A2", new Aluno("Cicrano"));
map.put("A3", new Aluno("Beltrano"));
System.out.println(map.size());
//2
System.out.println(map.containsKey("A3"));
//3
System.out.println(map.containsValue(new Aluno("Beltrano")
));
//4
for (Aluno aluno : map.values()) {
System.out.println(aluno.getNome());
}
//5
map.remove("A2");
System.out.println(map.size());
//6
System.out.println(map.get("A1"));
System.out.println(map.get("A1").getNome());
}
}
//C#
using System.Collections.Generic;
//2
System.Console.WriteLine(dictionary.ContainsKey("A1"));
//3
System.Console.WriteLine(dictionary.ContainsValue(new Alun
o("Beltrano")));
//4
foreach (KeyValuePair<String, Aluno> item in dictionary)
{
System.Console.WriteLine(item.Value.Nome);
}
//5
dictionary.Remove("A3");
System.Console.WriteLine(dictionary.Count);
//6
System.Console.WriteLine(dictionary["A2"]);
System.Console.WriteLine(dictionary["A2"].Nome);
System.Console.ReadLine();
}
}
$POKVOUPT
//1
alunos.add(new Aluno("Fulano"));
alunos.add(new Aluno("Cicrano"));
alunos.add(new Aluno("Beltrano"));
alunos.add(new Aluno("Fulano"));
System.out.println(alunos.size());
//2
System.out.println(alunos.contains(new Aluno("Beltrano")));
//3
for (Aluno aluno : alunos) {
System.out.println(aluno.getNome());
}
//4
alunos.remove(new Aluno("Fulano"));
System.out.println(alunos.size());
}
}
//C#
using System.Collections.Generic;
//1
alunos.Add(new Aluno("Fulano"));
alunos.Add(new Aluno("Cicrano"));
//2
System.Console.WriteLine(alunos.Contains(new Aluno("Beltrano")
));
//3
foreach (Aluno item in alunos) {
System.Console.WriteLine(item.Nome);
}
//4
alunos.Remove(new Aluno("Fulano"));
System.Console.WriteLine(alunos.Count);
System.Console.ReadLine();
}
}
2VBMBNFMIPSDPMFÎÍP 2VBMEFWFTFSVTBEB
"QØT FTTB SÈQJEB JOUSPEVÎÍP TPCSF DPMFÎÜFT FTTBT EVBT
QFSHVOUBTQPEFNTVSHJS"WFSEBEFÏRVFOÍPFYJTUFBNFMIPS NBT
TJNBRVFNBJTTFBEFRVBËTJUVBÎÍP$BTPBTFRVÐODJBEFJOTFSÎÍP
EFWB TFS QSFTFSWBEB F P BDFTTP QPTJDJPOBM EFWB TFS QPTTJCJMJUBEP
EFWFNTFSVTBEBTMJTUBT4FGPSOFDFTTÈSJPDSJBSJEFOUJGJDBEPSFTQBSB
PT FMFNFOUPT F B TFRVÐODJB OÍP GPS OFDFTTÈSJB NBQBT EFWFN TFS
"MÏNEJTUP NBQBTUÐNVNUFNQPEFBDFTTPNVJUPNBJTSÈQJEP
EP RVF MJTUBT DBTP JTTP UBNCÏN TFKB VNB OFDFTTJEBEF 4F BDFTTP
EJSFUPOÍPGPSOFDFTTÈSJP NBTDPOUSPMFEFSFQFUJÎÍPGPSQSJNPSEJBM
DPOKVOUPTTFSÍPBCPMBEBWF[
#140#3&4$3&7"&26"-4 )"4)$0%&
&50453*/(
&JTPTUSÐTNPTRVFUFJSPT&NCPSBOÍPTFKBPCSJHBUØSJP ÏNVJUP
JNQPSUBOUF QSJNPSEJBM TPCSFTDSFWFS FTUFT NÏUPEPT *TUP Ï NVJUP
NBJT EP RVF VNB CPB QSÈUJDB Ï VNB GPSNB EF FWJUBS SFTVMUBEPT
JOEFTFKBEPT 1BSB EFNPOTUSBS PT FGFJUPT DPMBUFSBJT EF OÍP
TPCSFTDSFWÐMPT PTFYFNQMPTEB#1TFSÍPSFWJTJUBEPT
3FNPÎÜFTFQFTRVJTBT
//Java
//ArrayList
listaNomes.remove(new Aluno("Cicrano"));
listaNomes.contains(new Aluno("Cicrano"))
//HashMap
map.containsValue(new Aluno("Beltrano"))
//C#
//List
listaNomes.Remove(new Aluno("Cicrano"));
listaNomes.Contains(new Aluno("Cicrano"));
//Dictionary
dictionary.Remove("A3");
dictionary.ContainsValue(new Aluno("Beltrano"));
//HashSet
alunos.Remove(new Aluno("Fulano"));
alunos.Contains(new Aluno("Beltrano"));
"HPSB OPUF P QPSRVÐ EF UBM GBMIB Aluno Ï VN UJQP EF EBEP
EFGJOJEPQPSVNQSPHSBNBEPS& Java F C# OÍPTBCFNPRVFFMF
Ï BQFOBT BDFJUBSBN RVF FMF GPTTF EFGJOJEP &TUBT MJOHVBHFOT OÍP
TBCFNDPNPEFUFSNJOBSPRVFUPSOBVNBMVOPJHVBMBPVUSP
"DFTTPEJSFUPBJUFOT
0TDØEJHPTBTFHVJSTFSWFNQBSBFYJCJSPTPCKFUPT Alunos
//Java
//Array
for(Aluno item: listaNomes) {
System.out.println(item);
}
//HashMap
System.out.println(map.get("A1"));
//C#
//List
foreach (Aluno item in listaNomes)
{
System.Console.WriteLine(item);
}
//Dictionary
System.Console.WriteLine(dictionary["A2"]);
&TTFUJQPEFJODÙNPEPQPEFTFUPSOBSNBJTDPNVNDBTPWÈSJBT
DPODBUFOBÎÜFTTFKBNGFJUBTEJSFUBNFOUFDPNPCKFUPT/FTUFDBTP UBJT
MJOHVBHFOTJNQMJDJUBNFOUFDIBNBSÍPTFVT toString F DPNP FMFT
OÍPGPSBNEFGJOJEPT FTTBFYJCJÎÍPOBEBBNJHÈWFMTFSÈBQSFTFOUBEB
/PWBNFOUF RVFTUÜFT EF RVFCSB EF FODBQTVMBNFOUP GSBHJMJEBEF EF
1PEFNPTUFSSFÞTPTFNOFDFTTBSJBNFOUFUFSIFSBOÎB6NBQSPWB
EJTUP GPSBN PSHBOJ[BÎÜFT GFJUBT OB #1 'PSBN DSJBEPT NÏUPEPT
QSJWBEPT QBSB FODBQTVMBS DØEJHPT RVF TF SFQFUJBN RVF GPSBN
DIBNBEPTFNWÈSJPTQPOUPTEFVNPVUSPNÏUPEP0VTFKB PDØEJHP
GPJSFVTBEPTFNBFYJTUÐODJBEFIFSBOÎB
/ÍP UFS FTUB QFSDFQÎÍP EF SFÞTP TFN IFSBOÎB HFSB TJUVBÎÜFT
DPNPBEFTDSJUBBTFHVJSVNQSPHSBNBEPSFTUÈJNQMFNFOUBOEPVN
TJUF EF WFOEBT F DIFHPV P NPNFOUP EFMF DPEJGJDBS P DBSSJOIP EF
DPNQSBT$PNPOFTUFTFSÍPBSNB[FOBEPTWÈSJPTQSPEVUPT ÏNVJUP
DPNVNJOJDJBOUFTGB[FSFNBTFHVJOUFDPEJGJDBÎÍP
//Java
public class carrinhoCompras extends ArrayList {
...
}
//C#
public class carrinhoCompras : List
{
...
}
2VFCSBTFNÉOUJDB
6NDBSSJOIPEFDPNQSBTOÍPÏVNBMJTUB%FWFNPTMFNCSBSEF
RVFIFSBOÎBÏQBSBDSJBSTVCUJQPT0SFÞTPÏVNBDPOTFRVÐODJBEP
VTPEFIFSBOÎB"IFSBOÎBUFNDPNPQSJODJQBMGJOBMJEBEFBDSJBÎÍP
EFTVCUJQPT
2VFCSBEFFODBQTVMBNFOUP
2VBOEPVNBDMBTTFIFSEBEBPVUSB FMFTFUPSOBVNBWFSTÍPNBJT
FTQFDÓGJDBEFTVBTVQFSDMBTTF$PNJTTP FMBUFNBDFTTPBBMHVOTEF
TFVTNÏUPEPTF JOGFMJ[NFOUF BPTFVFTUBEP*TUPÏVNBHSBWFRVFCSB
EFFODBQTVMBNFOUP
'PSUFBDPQMBNFOUP
&NCPSB TFKB VN DPODFJUP JNQPSUBOUF F RVF EFWF TFS VTBEP B
IFSBOÎB HFSB VN BMUP BDPQMBNFOUP 6NB TVCDMBTTF Ï GJMIB EF TVB
TVQFSDMBTTF EFQFOEFOEP GPSUFNFOUF EFMB QBSB FYJTUJS $BTP
BMUFSBÎÜFTTFKBNGFJUBTOBDMBTTFNÍF BTGJMIBTTFSÍPBGFUBEBTF NBJT
VNBWF[ DPNQPSUBNFOUPTJOFTQFSBEPTQPEFNTVSHJS
0RVFGB[FSFOUÍP
1BSFDF RVF IFSBOÎB OÍP Ï CPN F EFWF TFS FWJUBEB &SSBEP /B
WFSEBEF B IFSBOÎB EFWF TFS VTBEB OP MVHBS DFSUP F OB IPSB DFSUB
$PNP EJUP FMB Ï QBSB DSJBS TVCUJQPT P SFÞTP Ï VNB EBT
.VJUBTDMBTTFTTÍPQSPKFUBEBTTPNFOUFQBSBTFSFNIFSEBEBT QPJT
TFSWFNBQFOBTEFNPMEFQBSBPVUSBT OPDBTPTVCUJQPT6NFYFNQMP
EJTUPÏBDMBTTF AbstractCollection FN Java &MBÏVNBDMBTTF
RVF SFQSFTFOUB VNB DPMFÎÍP UÍP CÈTJDB RVF OÍP TF UFN DPNP
USBCBMIBS EJSFUBNFOUF DPN FMB NBT BT DMBTTFT ArrayList F
HashSet FN Java TÍPTVCDMBTTFTEFMBT OÍPEJSFUBNFOUF
...
}
//C#
public class CarrinhoCompras
{
private List<produto> produtos;
...
}
&OUÍPDPNPCMJOEBSPDØEJHPQBSBRVFEFUFSNJOBEBTDMBTTFTOÍP
QPTTBN TFS IFSEBEBT F BTTJN FWJUBS UBJT TJUVBÎÜFT BEWFSTBT
3FTQPTUB BT DMBTTFT EFWFN TFS JNQPTTJCJMJUBEBT EF TFSFN IFSEBEBT
4ØBTTJNQPEFSÍPTFSFWJUBEPTFSSPT.BTDPNPÏFTUFNFDBOJTNP
200 9.8 BP08: SE FOR O CASO, EVITE A HERANÇA OU, PELO MENOS, A
SOBRESCRITA
" TFHVJS WFKB DPNP GPJ EFGJOJEP FN Java F FN C# RVF B
DMBTTF String OÍP QPTTJCJMJUF IFSBOÎB %FTDPOTJEFSF BT
JOGPSNBÎÜFTBNBJTRVFBQBSFDFNOBEFGJOJÎÍPEFUBJTDMBTTFT GPRVF
TPNFOUFOP final F sealed
//Java
public final class java.lang.String implements java.io.Serializable
, java.lang.Comparable, java.lang.CharSequence {
...
}
//C#
public sealed class String : IComparable, ICloneable, IConvertible
, IComparable<string>, IEnumerable<char>, IEnumerable, IEquatable<
string>
{
...
}
//C#
public class MinhaClasse
{
9.8 BP08: SE FOR O CASO, EVITE A HERANÇA OU, PELO MENOS, A SOBRESCRITA
201
}
"DPEJGJDBÎÍPBOUFSJPSJMVTUSBRVFTVCDMBTTFTEF MinhaClasse
QPEFN TFS DSJBEBT &OUSFUBOUP OÍP TFSÈ QFSNJUJEB B TPCSFTDSJUB EF
metodo1() QPJT UBM PQFSBÎÍP GPJ QSPJCJEB QFMP VTP EF final F
sealed
'*/"-7&34644&"-&%
3FTVNJEBNFOUF UPEBWF[RVFTVBBQMJDBÎÍPQPTTVJSDMBTTFTRVF
SFQSFTFOUBNEFUFSNJOBEPTDPODFJUPTRVFKÈTÍPPGJNEBIJFSBSRVJB
EFDMBTTFTPVTFKB KÈTÍPTVGJDJFOUFNFOUFSFQSFTFOUBEPTEFGPSNB
TFNÉOUJDB F DPNQPSUBNFOUBM UPSOF UBJT DMBTTFT GJOBJT F TFMBEBT
$BTP FYJTUBN DMBTTFT RVF EFWBN TFS IFSEBEBT NBT OFTUBT FYJTUBN
EFUFSNJOBEPT NÏUPEPT B TFSFN QSFTFSWBEPT QBSB HBSBOUJS P
FODBQTVMBNFOUP UPSOFTPNFOUFFTUFTGJOBJTFTFMBEPT
"QMJDBÎÜFTNBMQSPKFUBEBTHFSBNVNBHSBOEFEFQFOEÐODJBFOUSF
BT TVBT DMBTTFT QPJT NÏUPEPT OÍP SFBMJ[BSBN CFN B UBSFGB EF
FTDPOEFS TVBT DPNQMFYJEBEFT EF JNQMFNFOUBÎÍP F BUSJCVUPT
UFSNJOBN TFOEP BDFTTBEPT EJSFUBNFOUF 1BSB BKVEBS B DSJBS
BQMJDBÎÜFTNBJTFODBQTVMBEBT WFKBBTFHVJSBMHVNBTEJDBT
%FGJOBBTWJTJCJMJEBEFTEFGPSNBBEFRVBEB
7JB EF SFHSB UPEBT BT DMBTTFT EFWFN TFS QÞCMJDBT $SJBS VNB
DMBTTFOÍPQÞCMJDB OPDBTP QSPUFHJEBPVQSJWBEB TØÏQPTTÓWFMDBTP
TFKB VNB DMBTTF JOUFSOB $PNP FTUF DPODFJUP OÍP GPJ BCPSEBEP OP
MJWSP DBTP TF EFTFKF DPOIFDÐMP WBMF B QFOB QFTRVJTBS OPWBNFOUF
OBTEPDVNFOUBÎÜFTEF Java F C#
0VTPEFTUBTWJTJCJMJEBEFTÏSBSÓTTJNPQBSBBUSJCVUPT&OUSFUBOUP
TF GPSFN OFDFTTÈSJBT EFWFN TFS VNB FYDFÎÍP PV TFSÍP VTBEBT
EFWJEP B PVUSBT OFDFTTJEBEFT DPNP FYQPS WBMPSFT DPOTUBOUFT
BUSJCVUPT EF JOUFSGBDF QÞCMJDPT QPS QBESÍP FOUSF PVUSBT
/PRVFEJ[SFTQFJUPBPTNÏUPEPT KÈÏPDPOUSÈSJPFMFTEFWFNTFS
TFNQSF QÞCMJDPT QPS QBESÍP *TUP PDPSSF QPSRVF FMFT TÍP
SFTQPOTÈWFJTQPSEFGJOJSB"1* "QQMJDBUJPO1SPHSBNNJOH*OUFSGBDF
&TUB Ï SFTQPOTÈWFM QPS EFUFSNJOBS P RVF TF QPEF GB[FS DPN VNB
EFUFSNJOBEB DMBTTF PV VN DPOKVOUP EFMBT NØEVMP DPNQPOFOUF
FUD
$VJEBEPDPNHFUTFTFUT
&NCPSB TFKB NVJUP DPNVN P VTP EF get/set FMFT RVFCSBN
GBDJMNFOUFPFODBQTVMBNFOUP*TTPPDPSSFQPSRVF NFTNPEFGJOJOEP
VNBUSJCVUPDPNPQSJWBEP TFVNNÏUPEP set GPS EFGJOJEP QBSB
FMF EFOBEBBEJBOUBSÈPBUSJCVUPTFSQSJWBEP#BTUBDIBNBSP set
QBSBBMUFSBSEJSFUBNFOUFTFVWBMPS0VTFKB BCMJOEBHFNEPFTUBEP
JOUFSOPEPPCKFUPGPJQBSBPFTQBÎP
1BSBUFOUBSNJOJNJ[BSPVTPEFTFOGSFBEPEFMFT BMHVOTDVJEBEPT
QPEFNTFSUPNBEPT
/ÍPFYQPOIBEJSFUBNFOUFPWBMPSBUSJCVUPQBSBEFQPJT
SFBMJ[BS VN QSPDFTTBNFOUP DPN FMF 0 NFMIPS Ï
EJTQPOJCJMJ[BS UBM QSPDFTTBNFOUP &TUF Ï VN QSJODÓQJP
DIBNBEP 5FMM EPOhU BTL EJHB OÍP QFSHVOUF 2VBOUP
NFOPTFODBQTVMBEPVNDØEJHP NBJTQFSHVOUBTFGB[
6NFYFNQMPCÈTJDPEJTUPÏPDØEJHPBTFHVJS
//Java
if (paciente.getFatura().getDataPagamento() != null) {
//pacienta pagou o plano de saude, então pode ser atendido.
}
//Java
if (paciente.Fatura.DataPagamento != null)
{
//pacienta pagou o plano de saude, então pode ser atendido.
}
if (paciente.podeSerAtendito()) {
//processamento necessário
}
//Java
if (paciente.PodeSerAtendido())
{
//processamento necessário
}
4FGPSPDBTP CMJOEFPFTUBEPEPPCKFUPEFGJOJUJWBNFOUF
"MHVNBTWF[FT ÏOFDFTTÈSJPOÍPQFSNJUJSRVFPFTUBEPEPPCKFUP
NVEFEVSBOUFTVBFYJTUÐODJB0TWBMPSFTJOJDJBMNFOUFQBTTBEPT WJB
VNDPOTUSVUPSDPNQBSÉNFUSPT OÍPQPEFNNVEBSBUÏBEFTUSVJÎÍP
EFTUFPCKFUP&TUBTJUVBÎÍPÏDPOIFDJEBDPNPDMBTTFTJNVUÈWFJT&TUBT
DMBTTFTDPOTFRVFOUFNFOUFDSJBNPCKFUPTJNVUÈWFJT
&TUFUJQPEFOFDFTTJEBEFTVSHFRVBOEPNVEBSPFTUBEPEPPCKFUP
QPEF HFSBS SFTVMUBEPT JOEFTFKBEPT .BT VUJMJ[BS PT WBMPSFT JOJDJBJT
TFN NPEJGJDÈMPT Ï EF GVOEBNFOUBM JNQPSUÉODJB *TTP PDPSSF
QSJODJQBMNFOUF DPN QSPHSBNBÎÍP DPODPSSFOUF OB RVBM WÈSJPT
QSPHSBNBTBDFTTBNPNFTNPPCKFUP$BTPBMHVNEFTUFTGBÎBVNB
BMUFSBÎÍPJOEFWJEB UPEPTPTEFNBJTQPEFNTFSBGFUBEPT/FTUFDBTP
ÏNBJTTFHVSPTPNFOUFFYQPSPFTUBEPJOUFSOPPVVTÈMPQBSBHFSBS
SFTVMUBEPTEFSJWBEPTBQBSUJSEFMF
1BSBTFDSJBSDMBTTFTFPCKFUPTJNVUÈWFJT BMHVOTQBTTPTEFWFNTFS
TFHVJEPT
$MBTTFBCTUSBUBDMBTTFRVFTFSWFEFNPMEFQBSBPVUSBT
DMBTTFT ² B JNQMFNFOUBÎÍP EJSFUB EP DPODFJUP EF
BCTUSBÎÍP F EFWJEP B JTUP OÍP QPEF TFS JOTUBODJBEB
&TUF UJQP EF DMBTTF QPEF EFGJOJS NÏUPEPT BCTUSBUPT PV
OÍP
$BTPWÈSJBTDMBTTFTJNQMFNFOUFNVNBEFUFSNJOBEBJOUFSGBDF F
FN BMHVN NPNFOUP GPS OFDFTTÈSJP FWPMVJS FTUB JOUFSGBDF
BDSFTDFOUBOEP VNB OPWB BTTJOBUVSB EF NÏUPEP UPEBT TVBT
JNQMFNFOUBÎÜFT UFSÍP EF TFS BUVBMJ[BEBT *TTP QPSRVF DPNP TVB
QSØQSJBEFGJOJÎÍPEJ[ IÈVNBPCSJHBUPSJFEBEFEFJNQMFNFOUBÎÍPEPT
TFSWJÎPTQSPWJEPT.FTNPRVFPDPNQPSUBNFOUPTFKBJHVBMBUPEBTBT
JNQMFNFOUBÎÜFT UPEBTUFSÍPEFTFSBUVBMJ[BEBT
/FTUF DBTP WBMF B QFOB SFGMFUJS TF FTTB IFSBOÎB SFBMNFOUF EFWF
TFSNÞMUJQMB PVNFTNPTFEFWFNPTVTBSJOUFSGBDFQBSBVNBIFSBOÎB
TJNQMFT$BTPTFDIFHVFËDPODMVTÍPEFRVFOÍP OFTUFDBTPÏNFMIPS
VUJMJ[BS VNB DMBTTF BCTUSBUB "TTJN UPEBT BT DMBTTFT RVF IFSEBSFN
EFMBUBMWF[OÍPQSFDJTFNTFSBUVBMJ[BEBTDBTPFTUFOPWPNÏUPEPTFKB
DPNVNBUPEBTFUFOIBPNFTNPDPNQPSUBNFOUP
6NTFHVOEPQPOUPÏVNBEFSJWBÎÍPEPQSJNFJSP1PSOÍPTFSFN
NVJUP GMFYÓWFJT QBSB FNVMBS IFSBOÎB JOUFSGBDFT BMÏN EF TFSFN
VUJMJ[BEBT QBSB DSJBS B JEFJB EF JOEFQFOEÐODJB EF JNQMFNFOUBÎÍP
UBNCÏN QPEFN TFS VTBEBT QBSB NBSDBS DMBTTFT /FTUF DBTP
TFNBOUJDBNFOUF GBMBOEP DMBTTFT BCTUSBUBT SFBMNFOUF TÍP B GPSNB
DPSSFUBQBSBEFGJOJSUJQPTFTVCUJQPT PVTFKB VNBIJFSBSRVJB.BTP
RVF WFN B TFS VNB DMBTTF NBSDBEB 5BMWF[ VN FYFNQMP SFBM EF
TJTUFNBTDPSQPSBUJWPTTFKBVNBCPBGPSNBEFEFGJOJSJTUP
1BSB GJOBMJ[BS DBTP GPTTF UFOUBEP BVEJUBS VNB DMBTTF RVF OÍP
JNQMFNFOUBTTFBJOUFSGBDF IAuditavel VNFSSPPDPSSFSJB QPJTP
NÏUPEP DadosAuditados gerarDadosAuditoria() OÍP FTUBSJB
QSFTFOUF4FGPTTFVNBIFSBOÎB FMFFTUBSJBEJTQPOÓWFM
/FTUFDBTP OÍPUFNPRVFEJTDVUJSVNBDMBTTFBCTUSBUBDIBNBEB
Pessoa EFWF TFS DSJBEB 4PNFOUF BUSJCVUPT DPNVOT DPNP nome
FTUBSJBN EFGJOJEPT "TTJN PessoaFisica F PessoaJuridica
GJDBSJBN SFTQPOTÈWFJT QPS EFGJOJS BUSJCVUPT NBJT FTQFDÓGJDPT F EF
GPSNB OÍP DPNQBSUJMIBEB /FTUB DBTP cpf F cnpj
SFTQFDUJWBNFOUFFFOUSFPVUSPTOFDFTTÈSJPT
compra.setImposto(Imposto.ICMS);
System.out.println(compra.getImposto().getdescricao());
//Resultado
IMPOSTO SOBRE CIRCULAÇÃO DE MERCADORIAS e SERVIÇOS
enum Imposto {
compra.Imposto = Imposto.ICMS;
Console.WriteLine(compra.Imposto.Description);
1BSBGBDJMJUBSPFOUFOEJNFOUPEFTUB#1BUBCFMBBTFHVJSMJTUBBT
DPOTJEFSBÎÜFT EF VTP EBT FTUSVUVSBT EJTDVUJEBT 4FNQSF MFWF FN
DPOTJEFSBÎÍP FTUBT QBSB QPEFS UPNBS B EFDJTÍP DPSSFUB .BJT VNB
WF[VNBSFDFJUBEFCPMPOÍPFTUÈEJTQPOÓWFM TØBQSÈUJDBFWJWÐODJB
OPEFTFOWPMWJNFOUPPSJFOUBEPBPCKFUPTQPTTJCJMJUBSÈGB[FSBFTDPMIB
RVFNBJTTFBEFRVFËTJUVBÎÍPDPSSFOUF
*OUFSGBDF $MBTTFBCTUSBUB
/ÍPQPTTJCJMJUBIFSBOÎBNÞMUJQMBEF
1PTTJCJMJUBFNVMBSIFSBOÎBNÞMUJQMB
GPSNBBMHVNB
.FOPTGMFYJCJMJEBEFEFFWPMVÎÍP .BJPSGMFYJCJMJEBEFEFFWPMVÎÍP
6TBEBQBSBNBSDBSDMBTTFT/ÍPDSJBN 6TBEBQBSBEFGJOJSTVCUJQPTF
IJFSBSRVJBT IJFSBSRVJBT
/ÍPQPEFTFSJOTUBODJBEB /ÍPQPEFTFSJOTUBODJBEB
.ÏUPEPTPCSJHBUPSJBNFOUFBCTUSBUPT4FN 1PTTJCJMJUBNÏUPEPTOÍPBCTUSBUPT
SFÞTP .BJPSSFÞTP
1PTTJCJMJUBNÞMUJQMBTJNQMFNFOUBÎÜFT 4ØQPTTJCJMJUBIFSBOÎBTJNQMFT
1PTTJCJMJUBTPNFOUFBUSJCVUPTFTUÈUJDPT
1PTTJCJMJUBRVBMRVFSUJQPEFBUSJCVUP
DPOTUBOUFTFQÞCMJDPT
.BOJQVMBÎÍPEFTUSJOHT
² NVJUP DPNVN JOJDJBOUFT FN Java F C# NBOJQVMBSFN
TUSJOHT EF GPSNB JOEJTDSJNJOBEB QSJODJQBMNFOUF SFBMJ[BOEP
DPODBUFOBÎÜFT5PEBWF[RVFVNBTUSJOHÏDPODBUFOBEBDPNPVUSB
VNBOPWBTUSJOHÏDSJBEBFBTBOUFSJPSFTTÍPFTRVFDJEBTOBNFNØSJB
//C#
//Como não criar textos dinâmicos.
String mensagem = "Sr. " + usuario.getNome() + " recebemos sua rec
lamação. Um email de confirmação foi enviado para " + usuario.getE
mail() + ".Em até " + reclamacao.getPrazoDias() + " dias estaremos
entrando em contato para resolver seu problema. Agradecemos o con
tato".
4FPDØEJHPQBSFDFSJMFHÓWFM UFNPTNBJTVNBHSBOEFWBOUBHFN
EFVUJMJ[BS StringBuilder UFNQPEFQSPDFTTBNFOUP$PODBUFOBS
TUSJOHT Ï VN QSPDFTTP DVTUPTP QBSB P QSPDFTTBEPS 4F FTTBT
DPODBUFOBÎÜFT GPSFN GFJUBT EFOUSP EF VN for QPS FYFNQMP
VTBOEPP + NBJT UBMPQFSBÎÍPMFWBSJBVOT TFHVOEPTQBSB
NFOTBHFOT6TBOEPB StringBuilder TFSJB NBJT PV NFOPT
TFHVOEPTQBSBBTNFTNBTNFOTBHFOT
1SFDJTÍPEFWBMPSFT
®T WF[FT Ï QSFDJTP RVF BT BQMJDBÎÜFT NBOJQVMFN WBMPSFT
NPOFUÈSJPT1BSBJTUP UJQPTEFEBEPT DPNP float F double TÍP
EJTQPOJCJMJ[BEPTFN Java F C# 1PSÏN NVJUBTWF[FTBTQSFDJTÜFT
EFTUFTUJQPTEFEBEPTQPEFNTFSVNHSBOEFQSPCMFNB"TFHVJS WFKB
//C#
double valor1 = 0.1;
double valor2 = 0.2;
²EFTFFTQFSBSRVFBSFTQPTUBBQFSHVOUBEBJHVBMEBEFEBTPNB
EBT WBSJÈWFJT DPN P WBMPS 0.3 TFKB true OP DBTP WFSEBEF
1PSÏN JOGFMJ[NFOUF UBOUP FN Java F C# B SFTQPTUB WBJ TFS
false *TTPPDPSSFEFWJEPBQSPCMFNBTEFQSFDJTÍPEFWBMPSFTRVF
UBJTMJOHVBHFOTQPTTVFN
//C#
-PPQ for
²NVJUPDPNVNBVUJMJ[BÎÍPEPMPPQ for EBTFHVJOUFGPSNB
//Java
//C#
&NCPSB OÍP UFOIB OBEB EF FSSBEP DPN UBJT DØEJHPT OPUF RVF
FMFT TÍP NVJUP MPOHPT F FYQÜFN EFNBTJBEBNFOUF PT QBTTPT
OFDFTTÈSJPTQBSBQFSDPSSFSVNDPOKVOUPEFPCKFUPT$BTPGPTTFVNB
MJTUBEFBMVOPT TFSJB
//Java
//C#
//C#
+BWB
IUUQXXXPSBDMFDPNUFDIOFUXPSLKBWBDPEFDPOWUPD
IUNM
$ IUUQTNTEONJDSPTPGUDPNFO
VTMJCSBSZGGBTQY F
IUUQTNTEONJDSPTPGUDPNFO
VTMJCSBSZNTWWTBTQY
"QFOBTQBSBJMVTUSBSPRVFWFNBTFSUBJTDPOWFOÎÜFT BTFHVJSÏ
BQSFTFOUBEBVNBSÈQJEBMJTUB
/PNFTEFNÏUPEPT
&N Java P OPNF EF UPEP NÏUPEP EFWF DPNFÎBS DPN B
QSJNFJSB MFUSB FN NJOÞTDVMP "QØT JTUP B QSJNFJSB MFUSB EF DBEB
QBMBWSB EFWF TFS NBJÞTDVMB 6N FYFNQMP TFSJB public double
calcularImposto()
&N C# POPNFEFUPEPNÏUPEPEFWFDPNFÎBSDPNBQSJNFJSB
MFUSB FN NBJÞTDVMP "QØT JTUP B QSJNFJSB MFUSB EF DBEB QBMBWSB
UBNCÏN EFWF TFS NBJÞTDVMB 6N FYFNQMP TFSJB public double
CalcularImposto()
/PNFTEFDMBTTFTFJOUFSGBDFT
5BOUPFN Java RVBOUPFN C# PTOPNFTEBTDMBTTFTEFWFNUFS
TVBQSJNFJSBMFUSBFNNBJÞTDVMP"QØTJTTP BQSJNFJSBMFUSBEFDBEB
QBMBWSB UBNCÏN EFWF TFS NBJÞTDVMB /BT JOUFSGBDFT TFVT OPNFT
EFWFNTFNQSFJOJDJBSDPNBMFUSB I "QØT JTUP BQMJRVF B NFTNB
DPOWFOÎÍPEBTDMBTTFT
/PNFEFDPOTUBOUFT
&N Java PTBUSJCVUPTPVWBSJÈWFJTEFGJOJEPTDPNPDPOTUBOUFT
EFWFN UFS TVBT QBMBWSBT FN NBJÞTDVMP F TFQBSBEBT QPS _
VOEFSMJOF 6N FYFNQMP TFSJB private final int
QUANTIDADE_TENTATIVAS = 10;
+È C# OÍPUFNPTVNBDPOWFOÎÍPEFGJOJEBQBSBJTUP
'*/"-.&/5&"$"#06
1SPOUP "QØT VN MPOHP NBT FOSJRVFDFEPS FTUVEP NVJUP EP
RVF QPEFSJB TFS EJUP FYQMJDBEP F SFGPSÎBEP TPCSF B 0SJFOUBÎÍP B
0CKFUPT GPJ GFJUP 5PEPT PT DPODFJUPT GPSBN BQSFTFOUBEPT TVB
IJTUØSJB PQPSRVÐEFTVBHSBOEFBDFJUBÎÍPFUD
026&7&.%&10*4%"
03*&/5"±°0"0#+&50
&NCPSBUVEPRVFQVEFTTFUFSTJEPFYQMJDBEPUFOIBEFGBUPTJEP
FYQMJDBEP TPNFOUF VTBS B 0SJFOUBÎÍP B 0CKFUPT BJOEB OÍP Ï P
TVGJDJFOUF QBSB DPOTUSVJS BQMJDBÎÜFT EF BMUB RVBMJEBEF ² OFDFTTÈSJP
NBJT BMHVOT DPOIFDJNFOUPT RVF GPHFN EP FTDPQP EFTUF MJWSP NBT
RVFTFSÍPBQSFTFOUBEPTEFGPSNBJOUSPEVUØSJBQBSBQPTUFSJPSFTUVEP
0MJWSPNBJTGBNPTPEFQBESÜFTEFQSPKFUPTPCSFB0SJFOUBÎÍPB
0VTFKB TÍPUÏDOJDBTRVFWJTBNSFTPMWFSQSPCMFNBTSPUJOFJSPTF
RVF BDPOUFDFN FN EJTUJOUBT TJUVBÎÜFT 1PSÏN B BQMJDBÎÍP EPT
QBESÜFT JOEFQFOEFOUF EF RVBMRVFS BQMJDBÎÍP WJTB UPSOBS P DØEJHP
NBJT FTUSVUVSBEP SFVUJMJ[ÈWFM F SPCVTUP 0T RVBUSP BVUPSFT
DPOIFDJEPT DPNP HBOHVF EPT RVBUSP (BOH PG 'PVS (P'
JEFOUJGJDBSBN BMHVNBT GBMIBTEJGJDVMEBEFT DPOTUBOUFT FN EJWFSTPT
QSPKFUPT EF TPGUXBSF PSJFOUBEPT B PCKFUPT FN RVF USBCBMIBSBN "
QBSUJS EJTTP DSJBSBN F DBUFHPSJ[BSBN QBESÜFT QBSB TPMVDJPOBS UBJT
EFGJDJÐODJBTEB0SJFOUBÎÍPB0CKFUPT#BTJDBNFOUF TÍPDBUFHPSJBT
3&'"503"±°0
.FOPT SPCVTUP RVF VN QBESÍP EF QSPKFUP NBT OÍP NFOPT
JNQPSUBOUF SFGBUPSBÎÜFTFNDØEJHPTPSJFOUBEPTBPCKFUPQPEFNTFS
SFBMJ[BEBT .BT P RVF WFN B TFS UBM BUJWJEBEF " TFHVJS WFKB VNB
CSFWFEFGJOJÎÍP
1BSB JMVTUSBS EF GPSNB QSÈUJDB P RVF WFN B TFS F DPNP SFBMJ[BS
VNB SFGBUPSBÎÍP TFSÈ BQSFTFOUBEB B TFHVJOUF TJUVBÎÍP VNB
BQMJDBÎÍPJOJDJBMNFOUFTØFSBSFTQPOTÈWFMQPSHFSFODJBSWFOEBTQBSB
DMJFOUFT QFTTPB GÓTJDB &OUÍP B BQMJDBÎÍP DPN DFSUF[B UFSJB VNB
DMBTTFDIBNBEB Cliente OBRVBMTFVTBUSJCVUPTTFSJBNEFGJOJEPT
1PSÏN FN EFUFSNJOBEP NPNFOUP B FNQSFTB DPNFÎPV B SFBMJ[BS
WFOEBT QBSB FNQSFTBT RVF TÍP QFTTPBT KVSÓEJDBT /FTUF DBTP VNB
OPWB DMBTTF EFWFSJB TFS DSJBEB .BT KÈ FYJTUF B DMBTTF Cliente
&OUÍP TFSJB NFMIPS SFEFGJOJS TFV OPNF QBSB PessoaFisica
DIBNBSBOPWBDMBTTFEF PessoaJuridica
6.-6/*'*&%.0%&-*/(-"/(6"(&
-*/(6"(&.%&.0%&-"(&.6/*'*$"%"
&NCPSBFTUBKÈUFOIBTJEPDJUBEBEFGPSNBTVQFSGJDJBM BHPSBTFSÈ
GFJUB VNB FYQMJDBÎÍP VN QPVDP NBJT EFUBMIBEB 6.- Ï VNB
MJOHVBHFNRVFUFNDPNPQSJODJQBMGJOBMJEBEFSFQSFTFOUBSEFGPSNB
HSÈGJDB VNB BQMJDBÎÍP PSJFOUBEB B PCKFUP 5BM SFQSFTFOUBÎÍP UFN P
PCKFUJWPEFGPSOFDFSVNBWJTÍPFTUÈUJDBFDPNQMFUBEBBQMJDBÎÍP NBT
EF VNB GPSNB NBJT BNJHÈWFM F FOUFOEÓWFM "GJOBM WJTVBMJ[BS
EJBHSBNBT Ï CFN NBJT BMUP OÓWFM EP RVF TBJS WBTDVMIBOEP UPEBT BT
DMBTTFTEBBQMJDBÎÍP QBSBBTTJNFOUFOEFSDPNPFMBFTUÈFTUSVUVSBEB
" GJHVSB EFJYB DMBSP RVF FYJTUFN EJWFSTPT EJBHSBNBT VN QBSB
DBEB OFDFTTJEBEF EF SFQSFTFOUBÎÍP EF VNB BQMJDBÎÍP PSJFOUBEB B
PCKFUP%FOUSFFTUFT PTRVFNBJTTÍPDPOIFDJEPTTÍPPT%JBHSBNB
EF $BTP EF 6TP %JBHSBNB EF 4FRVÐODJB F %JBHSBNB EF $MBTTF
3FTQFDUJWBNFOUF FMFT TÍP SFTQPOTÈWFJT QPS GPSOFDFS VNB WJTÍP
HFSBM EBT GVODJPOBMJEBEFT EB BQMJDBÎÍP F RVFN WBJ VUJMJ[ÈMBT
NPTUSBSBTJOUFSBÎÜFTOFDFTTÈSJBTQBSBRVFVNBGVODJPOBMJEBEFTFKB
FYFDVUBEB F SFQSFTFOUBS UPEBT BT FOUJEBEFT DMBTTFT RVF TÍP
OFDFTTÈSJBT QBSB B BQMJDBÎÍP TF UPSOBS PQFSBOUF .BJT VNB WF[
SFTQFDUJWBNFOUF BT GJHVSBT TFHVJOUFT JMVTUSBN DBEB VN EFTTFT
EJBHSBNBT
'JHVSB%JBHSBNBEF4FRVÐODJB
03*&/5"±°0""41&$504
4PNFOUF UFS DPOIFDJNFOUPT EPT DPODFJUPT EB 00 OÍP Ï P
TVGJDJFOUF $PNP GPJ EJUP OB TFÎÍP EF QBESÜFT F SFGBUPSBÎÍP OFN
TFNQSF TØ VTBOEP B 0SJFOUBÎÍP B 0CKFUPT TF DPOTFHVJSÈ DSJBS
BQMJDBÎÜFT EF RVBMJEBEF .FTNP TF QBESÜFT GPSFN VUJMJ[BEPT F
/PDBTPBHPSB UFNPTBTFHVJOUFTJUVBÎÍPNFTNPDPNPBVYÓMJP
EF QBESÜFT PV SFGBUPSBÎÜFT BMHVNBT OFDFTTJEBEFT EF BQMJDBÎÜFT
PSJFOUBEBT B PCKFUPT UFSNJOBN QPS TF FTQFMIBS QFMB BQMJDBÎÍP 'PJ
QFOTBOEP FN SFTPMWFS FTTB TJUVBÎÍP RVF (SFHPS ,JD[BMFT NBJT VN
GVODJPOÈSJPEB9FSPY DSJPVB1SPHSBNBÎÍP0SJFOUBEBB"TQFDUPT
4FVJOUVJUPFSBFNDPOTFHVJSJTPMBSUBJTOFDFTTJEBEFTFTQBMIBEBT
RVFFMFDIBNPVEFDSPTTDVUUJOHDPODFSO FNVNBVOJEBEFEFDØEJHP
DIBNBEBBTQFDUP"TTJN FMBJOUFSDFQUBSJBBFYFDVÎÍPEBTDMBTTFTEF
VNB BQMJDBÎÍP PSJFOUBEB B PCKFUPT F FYFDVUBSJB P RVF BOUFT FTUBWB
FTQBMIBEP
//Definição de um pointcut
pointcut chamadaSet() : execution(* *.set*(..) ) && this(Pacient
e);
"QBSUJSEFTUFFYFNQMP GJDBDMBSPRVFB1SPHSBNBÎÍP0SJFOUBEB
B"TQFDUPTUFNDPNPGJOBMJEBEFBVYJMJBSB1SPHSBNBÎÍP0SJFOUBEBB
0CKFUPT/ÍPTFSJBVNBCPBQSÈUJDBDPOTUSVJSVNBBQMJDBÎÍPJOUFJSB
TØ DPN BTQFDUPT OB WFSEBEF UBMWF[ OFN GPTTF QPTTÓWFM &NCPSB B
GVOÎÍP EP BTQFDUP TFKB BVYJMJBS B 00 VNB EJGJDVMEBEF TVSHF B
MFHJCJMJEBEF
'3".&803,4
.VJUBT WF[FT B OFDFTTJEBEF EF BHJMJ[BS P QSPDFTTP EF
EFTFOWPMWJNFOUP EF VNB BQMJDBÎÍP Ï VN QPOUP DSVDJBM QBSB P
TVDFTTP EP QSPKFUP 1PSÏN OBT BQMJDBÎÜFT PSJFOUBEBT B PCKFUPT
EFUFSNJOBEBT OFDFTTJEBEFT UFSNJOBN TFOEP VN HBSHBMP QPS TFSFN
SFQFUJUJWBT EFNPSBEBT EF JNQMFNFOUBS FUD ² QBSB TPMVDJPOBS UBJT
TJUVBÎÜFT RVF GSBNFXPSLT EFWFN TFS VTBEPT " EFGJOJÎÍP EP RVF
WFNBTFSVNGSBNFXPSLÏ
0653"4$0*4"4"."*4
/ÍP TFSÈ VN DBNJOIP GÈDJM TF UPSOBS VN QSPGJTTJPOBM EF 5* EF
TVDFTTP TFKBOBÈSFBEFHFTUÍP TVQPSUFPVEFTFOWPMWJNFOUPGPDP
EFTUFMJWSP.BTVNBDPJTBÏDFSUBDBCFSÈBWPDÐ MFJUPS USJMIBSTFV
DBNJOIP
4VDFTTPFCPBTPSUF