Vous êtes sur la page 1sur 34

CONCEITOS BSICOS

DE PROGRAMAO
ORIENTADA A OBJETOS
Autor: Fernanda Farinelli !!"
#NDICE:
1. Histrico: .........................................................................................................
3
2. Fundamentos da Programao Orientada a Objetos: ..................................... 4
2.1. Paradigma Orientado por
Objetos: ..................................
...................................... 4
2.2. Principais conceitos de
POO: ..................................
.............................................
. 4
2.2.1.
Objet
os:....
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
... 4
Atributos e mtodos:.......................................................................................... !
"# erc$cio 1:........................................................................................................ %
2.2.2.
&'ass
es: ...
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.........
.... (
)nstanciao: .................................................................................................... 12
&'asses puras ou abstratas: .............................................................................. 12
"# erc$cio 2:...................................................................................................... 13
2.3. *otao gr+,ica das c'asses e dos
objetos: ...............................................
........... 14
2.4. -e,inio de c'asses e objetos em
.a/a: ....................................................
.......... 10
)ntroduo a .A1A:......................................................................................... 10
2.0. Princ$pios 2+sicos da orientao a
objetos:..................................................
....... 1!
0.2.1. Abstrao:....................................................................................................
1!
0.2.2. "ncapsu'amento:..........................................................................................
1%
0.2.3. Herana:.......................................................................................................
1(
0.2.4. Formas de 3erana .......................................................................................
14
Herana 5imp'es:............................................................................................. 14
Herana 67'tip'a: ............................................................................................ 28
"# erc$cio 3:...................................................................................................... 22
0.2.0. Po'imor,ismo: ..............................................................................................
23
"# erc$cio 4:...................................................................................................... 24
2.!.
"st
rut
ura
s:...
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
...
20
!.2.1. "strutura de 9enera'i:ao ; "specia'i:ao: .............................................
20
!.2.2. "strutura <odo = Parte: ................................................................................
2!
3. 6ode'agem de um 5istema Orientado a objetos: .........................................
2%
"# erc$cio 0:...................................................................................................... 2(
4. Programao Orientada a Objetos:............................................................... 38
0. 1antagens e 2ene,$cios da programao OO:.............................................. 31
>ni,icao entre dados e processos:................................................................ 31
&onsist?ncia entre an+'ise e desen/o'/imento: ............................................... 31
@euti'i:ao e aumento da produti/idade: ...................................................... 32
6u'tidesen/o'/imento:.................................................................................... 32
Faci'idades em manuteno:............................................................................ 33
!. "#erc$cio de re/iso: .....................................................................................
34
%. 2ib'iogra,ia: ...................................................................................................
30 2

PROGRAMAO ORIENTADA A OBJETOS$
%$ &i 't ( ri )o :
A A"ngen3aria de so,tBareC surgiu no ,ina' da dcada de !8 para tentar
so'ucionar
os prob'emas gerados pe'a A&rise do so,tBareCD no entantoD /+rias tcnicas
Eue
,oram desen/o'/idas nos anos %8 e (8 no conseguiram reso'/er os prob'emas
de
produti/idade e Eua'idade em so,tBares.
*os anos 48D um grande n7m ero de empresasD de di/ersos portesD j+ esta/a com
boa parte de seus sistemas com um consider+/e' n$/e' de in,ormati:aoD
a'm
dissoD o uso da internet como meio de comunicao e busca macia de
in,ormao ,oi amp'amente di/u'gado e ,ina'mente o computador passou a
ser
uma ,erram enta de traba'3o para muitas pessoas.
&om tudo issoD surge a necessidade de se produ:ir so,tBares mais
atraentesD
dinFmicos e com a'to poder de troca de in,ormaoD a'm dissoD passou=
se a
e#igir dos so,tBares uma maior produti/idade e me'3or Eua'idade.
Os so,tBares atuais se caracteri:am por ter grande interao com o usu+rioD pe'o
uso de inter,aces gr+,icasD pe'a necessidade permanente de a'terao e e#panso
Gdada a /e'ocidade de mudanas de 3ardBareH e apresentam interao
com
outros sistemas possibi'itando a troca de dados entres e'esD portabi'idade
para
di/ersas p'ata,orma e sistemas operacionais.
Ao 'ongo de /+rias pesEuisas e testesD /eri,icou=se Eue a reuti'i:ao era a
pea
c3a/e para o aumento da produti/idade e me'3oria da Eua'idade dos so,tBares.
A
reuti'i:ao signi,ica usar no/amente a'go Eue ,oi ,eito. 5eu objeti/o
permitir
uma amp'a uti'i:ao de todos os tipos de in,ormao encontradas na situao
de
desen/o'/imento. Podemos citar como bene,$cio da reuti'i:ao uma reduo
das
etapas de desen/o'/imentos de so,tBare.
As tcnicas o,erecidas pe'a programao estruturada no eram su,icientes
para
atenderD com satis,ao desejadaD a e'aborao destes tipos de ap'icaIes. 5eria
necess+rio partir para uma no/a tcnica de programao. A tcnica Eue comeou
a ser adotada por parte dos programadores ,oi a Programao Orientada a
Objetos.
3

$ Fun da *e nt o ' da P r o+r a *a , -o Or ie nt a da a O ./e t o' :
A Orientao a Objetos uma tecno'ogia Eue en#erga os sistemas como
sendo
co'eo de objetos integrantes. "'a permite me'3orar a reusabi'idade e
e#tensibi'idade dos so,tBares.
A tecno'ogia orientada a objetos ,undamentada no EueD co'eti/amenteD
c3amamos de m ode'o de objetosD Eue eng'oba os princ$pios da abstraoD
3ierarEui:aoD encapsu'amentoD c'assi,icaoD modu'ari:aoD
re'acionamentoD
simu'taneidade e persist?ncia.
$%$ Paradi+*a Orientado 0or O./eto':
A proposta da orientao a Objetos representar o mais ,ie'mente
poss$/e' as
situaIes do mundo rea' nos sistemas computacionais. *s entendemos o
mundo
como um todo composto por /+rios objetos Eue interagem uns com os outros.
-a
mesma maneiraD a Orientao a Objetos consiste em considerar os
sistemas
computacionais no como uma co'eo estruturada de processosD mas sim como
uma co'eo de objetos Eue interagem entre si.
Os programas Orientados a objetos so programas estruturados em mdu'os Eue
agrupam um estado e operaIes sobre este estado. Apresentam ?n,ase em
reuti'i:ao de cdigo.
>m dos grandes di,erenciais da programao orientada a objetos em
re'ao a
outros paradigmas de programao Eue tambm permitem a de,inio de
estruturas e operaIes sobre essas estruturas est+ no conceito de 3eranaD
mecanismo atra/s do Eua' de,iniIes e#istentes podem ser ,aci'mente
estendidas. .untamente com a 3erana de/e ser en,ati:ada a importFncia
do
po'imor,ism oD Eue permite se'ecionar ,unciona'idades Eue um programa ir+
uti'i:ar
de ,orma dinFmicaD durante sua e#ecuo.
1Orienta,-o a O./eto' )on'i'te e* )on'iderar o'
'i'te*a' )o*0uta)ionai' )o*o u*a )ole,-o de
o./eto' 2ue intera+e* de *aneira or+ani3ada$4
$$ Prin)i0ai' )on)eito' de POO: $$%$ O./eto':
>sam os o termo objeto para representar um determinado e'emento do
mundo rea'. 6as somente ana'isaremos os objetos Eue tem re'e/Fncia para a so'uo de 4

um determinado prob'ema. PortantoD o objeto uma entidade do mundo rea'
Eue
merece representao para o ambiente estudado.
Objetos so instFncias de c'assesD Eue determinam Eua' in,ormao um
objeto
contm e como e'e pode manipu'+='a. J uma entidade capa: de reter um
estado
Gin,orm aoH e Eue o,erece uma srie de operaIes GcomportamentoH ou
para
e#aminar ou para a,etar este estado. J atra/s de'es Eue praticamente
todo o
processamento ocorre em sistemas imp'ementados com 'inguagens de
programao orientadas a objetos.
&om o e#emp'os de objetosD podem os citar os objetos ,$sicos Gum 'i/roD
uma
mercadoriaHD ,unIes de pessoas para os sistemas Gc'ienteD /endedorHD
e/entos
Guma compraD um te'e,onemaHD interaIes entre outros objetos Gum item de
uma
nota ,isca' uma interao entre uma compra e um produto do estoEueH e
'ugares
G'oja matri:D re/enda norteH.
Por e#em p'oD /amos considerar um cac3orro como nosso AobjetoC de estudo:
Fi+ura % = &ac3orro
Ana'isando este objetoD o cac3orroD podemos dedu:ir Eue o mesmo possui
a'gumas caracter$sticas Eue pertencem apenas a e'e prprio. Por e#emp'oD
um
cac3orro possui:
K >m nomeD
K >ma idadeD
K >m comprimento de p?'osD
K >ma cor dos pe'osD
K >ma cor dos o'3osD
K >m pesoD
K ...
1A' )ara)ter5'ti)a' 2ue de')re6e* u* o./eto '-o )7a*ada' de atri.uto'4$
A'm do conjunto de caracter$sticas Eue descre/em o cac3orroD podemos
tambm identi,icar um conjunto de aIes Eue e'e capa: de e#ecutar: K L MatirD K L 2abarD 0

K L &orrer em c$rcu'osD
K L Pegar a bo'aD
K L 5entarD
K L &omerD
K L -ormirD
K L ...
1A' a,8e' 2ue u* o./eto 0ode e9e)utar '-o
)7a*ada' de *:todo' ou 'er6i,o'4$
A 7nica maneira de interagir com os objetos atra/s dos mtodos Eue
e'e
disponibi'i:a. Para interagir com o cac3orroD uti'i:amos os m todos Eue
re'acionamos acima: para a'iment+='oD uti'i:amos o mtodo AcomerCD para
brincar
com e'eD uti'i:amos o mtodo Apegar a bo'aCD etc.
1C7a*a*o' de inter;a)e ao )on/unto de
*:todo' di'0on56ei' e* u* o./eto$4
Atri.uto' e *:todo':
1imos ento Eue os objetos so compostos de atributos e mtodosD mas a,ina'D o
Eue so atributos e o Eue so m todosN
Atri.uto':
Os objetos do mundo rea' possuem propriedades Eue possuem /a'ores.
"stes
/a'ores de,inem o estado do objeto. As propriedades recebem o nome de
atributos em OO.
Podemos di:er Eue os atributos dos objetos so A/ari+/eisC ou AcamposC
Eue
arma:enam os di,erentes /a'ores Eue as caracter$sticas dos objetos podem
conter.
O estado de um objeto o conjunto de /a'ores de seus atributos em um
determ inado instante. O comportamento de um objeto como e'e age e reage
em termos de suas mudanas de estado e troca de mensagens com outros objetos.
O cac3orro do nosso e#emp'o poderia ser representado pe'os seguintes
atributos: Ca)7orro No*e: P'uto Idade: 2 anos Co*0ri*ento do' 0<lo': &urtos Cor do' 0<lo': 2ege Cor do' ol7o' &astan3os Pe'o: 0 Og !

>m outro objeto Acac3orroC apresentaria /a'ores di,erentes para os
mesmos
atributosD por e#emp'o:
Ca)7orro
No*e: 5noopP
Idade: 4 anos
Co*0ri*ento do' 0<lo': &ompridos
Cor do' 0<lo': &in:a
Cor do' ol7o' Pretos
Pe'o: ( Og
Os atributos de um objeto somente mudam de /a'or atra/s de est$mu'os
e#ternos ou internos. A 7nica ,orma de modi,icar os atributos dos objetos

disparando e/entos Eue pro/ocam a transio desses estados no objeto.


M:todo':
Os mtodos so procedimentos ou ,unIes Eue rea'i:am as aIes prprias
do
objeto. AssimD os mtodos so as aIes Eue o objeto pode rea'i:ar. <udo Eue
o
objeto ,a: rea'i:ado atra/s de seus mtodosD pois atra/s dos seus m todos
Eue um objeto se mani,estaD e atra/s de'es Eue o objeto interage com os outros
objetos.
>m objeto e#ibe a'gum comportamento Ge#ecuta uma operaoH Euando
recebe
um est$mu'o de outro objeto. >m objeto reEuisita a ao de a'gum outro
objetoD
en/iando uma mensagem para e'e. "sta mensagem uma so'icitao a
um
objeto para Eue seja e#ecutada as rotinas Eue c3amamos de 6todo da
c'asse.
Os mtodos so respons+/eis por acessar ou a'terar os atributos de um objeto.
)m aginando os mtodos do nosso objeto de estudoD o cac3orroD
enumeramos
mtodos GaIesH como MatirD babarD comer sentarD etc.
E9er)5)io %:
Para atender as necessidades de in,ormao de uma bib'ioteca uni/ersit+ria
,oi proposto um sistema Eue de/e atender as seguintes caracter$sticas: K O cadastro dos usu+rios da bib'ioteca com endereo comp'eto. Os usu+rios podem ser c'assi,icados em tr?s grupos: Pro,essoresD A'unos e Funcion+rios. K O cadastro das obras da bib'iotecaD Eue podem ser c'assi,icadas em: Mi/ros cient$,icosD peridicos cient$,icosD peridicos in,ormati/osD peridicos di/ersosD entretenimentoD etc. K A '$ngua em Eue se encontra o e#emp'ar da obra. %

K A m $dia onde se encontra o e#emp'ar da obra.
K Os autores da obra com o contro'e da naciona'idade do autor.
K As editoras dos e#emp'ares com o ano de edio de cada e#emp'ar.
)denti,iEue os poss$/eis objetos com seus respecti/os atributos e mtodos.
$$$ Cla''e':
>ma c'asse representa um conjunto de objetos Eue possuem caracter$sticas
e
comportamentos comuns e de agora em dianteD direm os Eue um objeto
uma instFncia de uma determinada c'asseD ou sejaD criaremos nossos objetos baseados nas caracter$sticas de,inidas nas c'asses.
A ?n,ase da metodo'ogia orientada a objetos dada na criao das
c'assesD e no dos objetosD como se poderia pensar pe'o nome. O'3ando os dois ces do e#emp'o anteriorD /emos Eue os dois possuem
e#atam ente o mesmo conjunto de atributos. )sso acontece porEue se trata de
dois objetos da mesma c'asseD ou categoria. )sso signi,ica Eue os dois possuem
e#atam ente o mesmo conjunto de atributos e mtodosD embora cada objeto
possa ter /a'ores di,erentes para os seus atributos. (

Fi+ura = &'asse &es
Objetos de mesma c'asse possuem a mesma de,inio tanto para mtodos
Euanto para atributos.
<omemos uma c'asse gatos ,ormada de objetos AgatoC. "stes objetos possuem as
seguintes caracter$sticas: nomeD idadeD pesoD cor de p?'osD cor de o'3os e
comprimento de p?'os. A'm dissoD o objeto possui as seguintes aIes:
miarD
comerD dorm irD subir na +r/ore.
Fi+ura = = &'asse 9atos
6uitos objetos do mundo rea' possuem caracter$sticas comuns e podem
ser agrupados de acordo com e'as. >ma c'asse representa um gabarito para muitos objetos e descre/e como estes objetos esto estruturados internamente. As c'asses &es e 9atos possuem caracter$sticas e mtodos comunsD por
e#emp'o: &aracter$sticas comuns GnomeD idadeD pesoD cor de p?'osD cor de o'3os
e
comprimento de p?'osHD 6todos comuns Gpegar a bo'aD comerD dormirH. 5
urge ento o conceito de subc'asse e superc'asse. Podemos ter uma superc'asse de 6am$,eros: 4

5ub&'asse @oedores
5ub&'asse &es
5ub&'asse 9atos 5ub&'asse "Eu$nos
Su0er Cla''e
Ma *5;ero'
Fi+ura > = 5uper &'asse 6am$,eros
-entro da 5uper&'asse 6am$,eros temos pe'o menos 4 5ubc'asses.
Podemos
di:er Eue e'as apresentam as seguintes caracter$sticas em comum: nomeD idadeD
pesoD cor dos o'3os e cor dos p?'os. A'm dissoD estas subc'asses possuem
os
seguintes mtodos em comum: comerD sentar e dormir.
Obser/ando a ,igura 4D podemos distinguir Euatro categorias di,erentes de
animais: AcesCD AgatosCD AeEQinosC e AroedoresC. 1eri,icamos Eue e#istem
seis
objetos na super c'asse mam$,erosD sendo distribu$dos em Euatro
subc'asses
G&esD gatosD roedores e eEQinosH. "ssa a di,erena entre c'asse e
objeto: a c'asse um mode'o e todos os objetos daEue'a c'asse possuem atributos
comunsD m as esses atributos possuem /a'ores distintosD e os mtodos
tambm so com uns.
>ti'i:ando a 3ierarEuia de c'asseD podemos omitir da dec'arao de um objeto
ou
de uma c'asse in,erior tudo aEui'o Eue j+ ,oi de,inido naGsH c'asseGsH
superiores. 18

5 sero de,inidos no objeto os atributos e mtodos particu'ares desse objeto
Eue
no so atribu$dos aos outros objetos da mesma c'asse.
&3amamos de AancestraisC Rs c'asses das Euais as outras dependem e de
AdescendentesC as c'asses originadas a partir de outra. *o e#emp'o acimaD
a
c'asse Amam$,erosC tem um ancestra' Ganim aisH e dois descendentes Gces
e
gatosH. "m cada descendente s preciso descre/er os atributos e mtodos Eue
apresentam a'terao em re'ao R descrio do ancestra'D con,orme a ,igura 0.
Atributos
*ome
)dade
6todos
Peso
Ani*ai'
&or dos o'3os
&omer
-ormir
&or dos p?'os
&o mprimento
A6e' Ma*5;ero'
R:0tei'
dos p?'os
5entar
&or das penas Amamentar
<ipo de
<aman3o das
"scamas
penas
&omprimento
da ca'da
2otar O/o
@astejar
C-e' Gato'
6iar
Matir
5ubir na +r/ore
Pegar a 2o'a
Fi+ura ? ; HierarEuia de c'asses
As c'asses so de,iniIes de como os objetos de/em ser e no e#istem
na
rea'idade. 5omente os objetos t?m e#ist?ncia. >sando o e#emp'o dos
animaisD
Euando /amos mostrar nosso cac3orro a a'gumD no di:emos Aesse um coCD
esim Aesse o p'utoCD ou AsnoopPC. O Eue se pode /er no uma c'asse de seresD mas um cac3orro espec$,icoD um objeto. 11

&'asse Objetos
C-e'
P'uto
Atributo s
*ome
...
5noopP
6todos
&o mer
...
Fi+ura @ ; "#emp'o de Objetos
In'tan)ia,-o:
A instanciao Euando a c'asse produ: um objetoD como se e'a ,osse
uma
espcie de mode'o ou gabarito para a criao de objetos. &on,orme a teoria
da
orientao a objetosD di:emos Eue um objeto D nada mais nada menosD
Eue a
instFncia de uma c'asse.
Pe'o e#emp'o Eue estam os estudandoD cada cac3orro Eue ,or arma:enado
um
no/o objetoD uma no/a instFncia da c'asse A&esC. A c'asse ser/e de mode'o
para
a criao de no/os objetos.
C-e'
P'uto 5noopP @e# 2 obP <ot
Fi+ura" = )nstanciao
Cla''e' 0ura' ou a.'trata':
&'asses puras so c'asses das Euais os objetos nunca so instanciados
diretamenteD mas sempre por uma c'asse descendente de'a. "ssas c'asses
so
criadas para ,aci'itar o processo de estruturao. >m e#emp'o c'+ssico
criar
uma c'asse PessoaD Eue contm os atributos GnomeD endereoD te'e,oneD etc.H
emtodos Ga'terao de endereoD imprimir ,ic3aD etc.H necess+rios para manusear dados de pessoas em um sistem a de in,ormao. A partir dessa c'asse genricaD
criam=se c'asses descendentes espec$,icas para manusear ,uncion+rioD
gerenteD etc. 12

Pe''oa
Fun)ionArio Gerente
Fi+ura B ; "#emp'o de c'asse pura ou abstrata
A c'asse Pessoa nunca ter+ um objeto a e'a instanciadoD e'a s e#iste
para
uni,icar todos os atributos e mtodos comuns as c'asses 9erente e
Funcion+rio
e/itando assim a redundFncia. Pe'o e#emp'o acimaD APessoaC um a c'asse
pura
ou abstrata.
"#istem notaIes Eue sugerem Eue uma c'asse pura seja c3amada tambm
de
c'asse=S=c'asse e as c'asses Eue podem ser instanciadas de c'asse=S=objeto.
E9er)5)io :
Para atender as necessidades de in,ormao de uma bib'ioteca uni/ersit+ria
,oi
proposto um sistema Eue de/e atender as seguintes caracter$sticas:
K O cadastro dos usu+rios da bib'ioteca com endereo comp'eto. Os usu+rios
podem ser c'assi,icados em tr?s grupos: Pro,essoresD A'unos e
Funcion+rios. Para os A'unos necess+rio con3ecer o curso ao Eua'
pertencem. -os Pro,essores e ,uncion+riosD necess+rio con3ecer o
-epartamento ao Eua' esto sem pre /incu'ados.
K O cadastro das obras da bib'iotecaD Eue podem ser c'assi,icadas em: Mi/ros
cient$,icosD peridicos cient$,icosD peridicos in,ormati/osD peridicos
di/ersosD entretenimentoD etc.
K A '$ngua em Eue se encontra o e#emp'ar da obra.
K A m $dia onde se encontra o e#emp'ar da obra.
K Os autores da obra com o contro'e da naciona'idade do autor.
K As editoras dos e#emp'ares com o ano de edio de cada e#emp'ar.
K O 3istrico dos emprstim os.
)denti,iEue as poss$/eis c'asses e objetos com seus respecti/os atributos e mtodos. 13

$=$ Nota,-o +rA;i)a da' )la''e' e do' o./eto':
A >6M G>ni,ied 6ode'ing ManguageH o sucessor de um conjunto de mtodos
de
an+'ise e projeto orientados a objeto GOOAS-H. A >6M est+D atua'menteD
em
processo de padroni:ao pe'a O69 GObject 6anagement 9roupH.
A >6M um mode'o de 'inguagem D no um mtodo. >m m todo pressupIe
um
mode'o de 'inguagem e um processo. O mode'o de 'inguagem a notao Eue o
mtodo usa para descre/er o projeto. Os processos so os passos Eue de/em ser
seguidos para se construir o projeto.
*a >6MD a representao para uma c'asse no diagrama de c'asses tipicamente
e#pressa na ,orma gr+,icaD como mostrado na Figura 4.
No*eCla''e
1isibi'idade nomeAtributo : tip o T /a'or de,au't
...
1isibi'idade nomeAtributo : tip o T /a'or de,au't
1isibi'idade nome6etodoG'istaArgumentosH : tipo@etorno
...
1isibi'idade nome6etodoG'istaArgumentosH : tipo@etorno
Fi+ura C ; @epresentao de &'asse em >6M
&om o se obser/a nessa ,iguraD a especi,icao de uma c'asse composta
por tr?s regiIes: o nome da c'asseD o conjunto de atributos da c'asse e o conjunto de mtodos da c'asse.
Outra notao gr+,ica m uito uti'i:ada a Eue &oad e Uourdon adotaram
con,orme
i'ustrado na ,igura 18. &omo na >6MD uti'i:am os um retFngu'o di/idido
em 3
seIesD onde a primeira seo o nome Eue identi,ica a c'asse ou o
objetoD a 14

segunda seo composta pe'os atributos da c'asse ou o objeto e a terceira
e
7'tim a seo com posta pe'os mtodos Eue compIem a c'asse ou o
objeto
respecti/o.
A di,erena gr+,ica da notao >6M para a de &oad e Uourdon Eue a
7'tima
representa c'asse e objetos de ,orma di,erente con,orme a ,igura 18.
*ome &'asse
*ome Objeto
Atributo s
Atributos
6todos
6todos
Fi+ura %! ; @epresentao de c'asse e objeto segundo &oad e Uordon
$>$ De;ini,-o de )la''e' e o./eto' e* Ja6a:
Introdu,-o a JADA:
.a/a uma 'inguagem de programao Orientada a Objetos muito
con/eniente
para o desen/o'/imento de so,tBare Eue ,uncione em conjunto com a )nternet.
A
'inguagem .a/a ,oi desen/o'/ida na 5un 6icrosPstems em 1441D uma
grande
/antagem Eue e'a apresenta diante das outras 'inguagens de programao
o
,ato de seus cdigos ,onte e objetos serem port+/eis para di/ersas arEuiteturas e
sistemas operacionais.
A de,inio de uma c'asse em .a/a :
0u.li) )la'' No*eDaCla''e E
Cor0oDaCla''e
F
O corpo de uma c'asse pode conter GatributosD mtodosD
construtoresVinicia'i:adores e outras c'assesH.
*o "#emp'o 1D temos um cdigo de um ap'icati/o m$nimo gera'm ente
e#ibe a
string AA'o 6undoC na te'a. O cdigo .a/a abai#o mostra um e#emp'o
de um
ap'icati/o m $nimo .a/a.
E9e*0lo %: pub'ic c'ass A'o6undo Wstatic pub'ic /oid mainG5tringX Y argsH W 5Pstem.out.print'nGZA'o 6undoZH[ \\ 10

A seguir dada uma bre/e descrio desses e'ementos de programa:
= O mtodo GH pode ser acessado por Eua'Euer c'asse.
K pub'ic main
= >ma pa'a/ra=c3a/e Eue in,orma ao compi'ador Eue GH no
K static main
reEuer a c3amada de uma instFncia dessa c'asse.
= )ndica Eue nada retornado por . "ssa in,ormao
K /oid mainGH
importante pois .a/a rea'i:a uma /eri,icao de tipo cuidadosaD Eue inc'ui
a
/eri,icao dos mtodos c3amadosD obser/ando se e'es rea'mente retornam
os
tipos com os Euais ,oram dec'arados.
= A dec'arao de uma matri: do tipo . "stes so os
K 5tring argsXY 5tring
argumentos digitados na 'in3a de comando aps o nome da c'asse:
E9e*0lo :
pub'ic c'ass 6-& W VV -e,inio de c'asse
pri/ate int ]T8[ VV -ec'arao de atributos
pri/ate int UT8[
pub'ic int &a'cu'a Gint ]D int UH VV -ec'arao de mtodo
W
i, G U TT 8 H
return ][
e'se i, G ] TT 8 H
return U[
e'se
return &a'cu'aGUD]^UH[
\
pub'ic static /oid main G5tringXY argsH
W
6-& a1 T neB 6-&GH[ VV )ntanciao de objeto
int @1 T a1.&a'cu'aG18D0H[ VV"#ecuo do 6todo da c'asse
5Pstem.out.print'nGZ6-&G18D0H T Z_ @1_`an`H[
5Pstem.e#itG8H[
\
\
$?$ Prin)50io' BA'i)o' da orienta,-o a o./eto': ?$$%$ A.'tra,-o: Procurando a pa'a/r a AabstraoC em um dicion+rio da '$ngua portuguesaD encontramosD como de,inioD Aato de separar menta'mente um ou mais
e'ementos de uma tota'idade comp'e#a GcoisaD representaoD ,atoHD os Euais
s menta'mente podem subsistir ,ora dessa tota'idadeC. 1!

<ambm con3ecida como Ocu'tamento da in,ormaoD a abstrao o
princ$pio
pe'o Eua' cada componente de/e manter ocu'ta sob sua guarda uma deciso de
projeto 7nica. Para a uti'i:ao desse componenteD apenas o m$nim o
necess+rio
para sua operao de/e ser re/e'ado Gtornado p7b'icoH.
Possu$mos o recurso da abstrao como ,orma de entender prob'emas
tidos
como comp'e#os. AssimD diante de um prob'ema comp'e#oD procuram os
di/idi='o
em prob'emas menoresD e ,eito issoD reso'/emos cada um de'es at
encontrar a
so'uo do prob'ema inteiro.
O termo AabstraoCD ap'icado ao desen/o'/imento de sistemasD signi,ica a
Agrosso modoC s de/e ser representado aEui'o Eue /ai ser usado.
Pe'o princ$pio da abstrao ns iso'amos os objetos Eue Eueremos representar
do
ambiente comp'e#o em Eue se situamD e nesses objetos representamos s
as
caracter$sticas Eue so re'e/antes para o prob'ema em Euesto. Por
e#emp'o:
toda pessoa tem um atributo para Acor dos o'3osCD mas em um sistema de ,o'3a
de
pagamentoD essa in,ormao no re'e/anteD portantoD e'a no ser+ inc'u$da
na
re'ao de caracter$sticas de pessoas Eue Eueremos arma:enar em nosso
sistema. -a mesma maneiraD apesar de uma boa parte das pessoas ter
animais
de estimaoD comp'etamente irre'e/ante para um sistema de ,o'3a de
pagamento imp'ementar um objeto para arma:enar animais de estimaoD
e
re'acion+='os com as pessoas.
O uso da abstrao permite tambm Eue determinadas partes do prob'ema
gan3em maior ou menor pesoD e dessa maneiraD deta'3es podem ser
desconsiderados em determinados momentos para Eue outros sejam ressa'tados.
?$$$ En)a0'ula*ento:
"ncapsu'amento o princ$pio de projeto pe'o Eua' cada componente de
um
programa de/e agregar toda a in,ormao re'e/ante para sua manipu'ao como
uma unidade Guma c+psu'aH. A 'iado ao conceito de ocu'tamento de in,orm
aoD
um poderoso mecanismo da programao orientada a objetos. &om este
mecanismo podemos ocu'tar deta'3es de uma estrutura comp'e#aD Eue
poderiam
inter,erir durante o processo de an+'ise.
O modo de uti'i:ao dos atributos e mtodos Gdados e operaIes rea'i:adas
com
esses dadosH di,erente do modo como a programao tradiciona' uti'i:a.
*a
orientao a objetos os dados e os processos Eue tratam esses dados
esto
Aencapsu'adosC numa 7nica entidade. A 7nica maneira de con3ecer ou a'terar
os atributos de um objeto atra/s de seus mtodos. O encapsu'amento um dos grandes trun,os da programao orientada a objetos em re'ao R programao tradiciona' GestruturadaH. A /antagem Eue o
encapsu'amento disponibi'i:a o objeto com toda a sua ,unciona'idade sem
Eue /oc? precise saber como e'e ,unciona internamenteD nem como arma:ena
internamente os dados Eue /oc? recupera. Podemos e#emp'i,icar da
seguinte 1%

,ormaD para te'e,onar para a'gum /oc? sim p'esmente pega um te'e,one e disca
o
n7mero destino. )sto acontece sem Eue /oc? saiba Euais ,oram os procedimentos
Eue ocorreram na empresa te'e,bnica Eue conectou /oc? ao destino Eue
/oc?
in,ormou.
Outro ponto importante permitir Eue /oc? ,aa modi,icaIes internas
em um
objetoD acrescentando mtodos sem a,etar os outros componentes do
sistema
Eue uti'i:am esse mesmo objeto. Para e#emp'i,icar esta /antagemD
podemos
retornar ao nosso e#emp'o do te'e,oneD onde sabemos Eue a compan3ia
te'e,bnica pode e,etuar di/ersas a'teraIes no tratamento te'e,bnicoD como
o
caso de con/erter as 'in3as ana'gicas para digitaisD ou aumentar a Euantidade
de
ser/ios o,erecidosD e isso tudo sem m odi,icar o mtodo Eue /oc? uti'i:a
para
te'e,onar. )sto pode ser rea'i:ado porEue a compan3ia te'e,bnica
encapsu'ou a
maneira de rea'i:ar uma c3amada te'e,bnica. AssimD a empresa est+ 'i/re
para
e,etuar todas as a'teraIes Eue desejarD sem a,etar a maneira como /oc? acessa
os ser/ios dessa compan3ia.
O Eue importa para poder 3a/er interao entre dois objetos Eue um con3ea o
conjunto de operaIes dispon$/eis do outro Ginter,aceH para Eue ento
en/ie e
receba in,orm aoD ou mesmo ordene a rea'i:ao de procedimentos.
?$$=$ &eran,a:
A pa'a/ra 3eranaD con,orme um dicion+rio da '$ngua portuguesaD signi,ica:
1. AEui'o Eue se 3erda[
2. AEui'o Eue se transmite por 3ereditariedade.
>m e#emp'o simp'es de e#p'icar a 3erana a prpria gentica. Ou sejaD um
,i'3o
3erda caracter$sticas genticas dos paisD e por sua /e:D repassa essas
caracter$sticas aos seus ,i'3os.
*a programao Orientada a ObjetosD Herana o mecanismo pe'o Eua'
uma
c'asse obtm as caracter$sticas e mtodos de outra para e#pandi='a ou
especia'i:+='a de a'guma ,ormaD ou sejaD uma c'asse pode A3erdarC
caracter$sticasD
mtodos e atributos de outras c'asses. -a m esma maneira uma c'asse transmite
suas caracter$sticas para outras c'assesD tornando aEue'as Eue recebem suas
caracter$sticas suas 3erdeiras.
5ob o ponto de /ista pr+tico da orientao a objetosD a 3erana constitui
um
mecanismo muito inte'igente de apro/eitar cdigo. J atra/s da 3erana Eue
os
objetos podem comparti'3ar mtodos e atributos. AssimD podemos criar uma
no/a c'asse ,a:endo com Eue esta 3erde os mtodos e atributos de uma outra c'asseD
tornando=a uma c'asse A,i'3oC da c'asse Eue a gerou. A grande /antagem
neste
caso Eue reuti'i:arem os todo o cdigo j+ imp'ementado na c'asse paiD
restando apenas im p'em entar os mtodos e atributos Eue a di,erenciem da c'asse pai. 1(

6amar
=
6am$,ero
= Possui p?'os
Primata
= Possui 6os e Ps
= 5er inte'igente
= Andar ereto
5er Humano
= Fi'oso,ar
Fi+ura %% G "#emp'o de Herana
-e acordo com o e#emp'o da ,igura acimaD podemos di:er Eue a c'asse
APrimataC
subc'asse Gdescendente ou ,i'3aH da c'asse A6am$,eroC e superc'asse
Gancestra'H
da c'asse A5er Hum anoC.
1&eran,a 'i+ni;i)a 2ue todo' o' atri.uto' e *:todo'
0ro+ra*ado' no an)e'tral /A e'tar-o
auto*ati)a*ente 0re'ente' e* 'eu' de')endente'
'e* ne)e''idade de ree')re6<Hlo'$4
A respeito dos m todos re'acionados no e#emp'o acim a possui podemos
di:er
Eue: os m todos Andar ereto e Fi'oso,ar so pertencem e#c'usi/amente a
c'asse
A5er 3umanoCD Possui 6os e Ps e 5er inte'igente pertencem a c'asse
APrimataC
e so 3erdados pe'a c'asse A5er HumanoCD e os mtodos 6amar e Possui p?'os
pertencem a c'asse A6am $,eroC e so 3erdados pe'as c'asses APrimataC e
A5er
Hum anoC. O mesmo acontecer+ com os atributos Eue ,orem de,inidos para
essas
c'asses.
6ais do Eue mera economia de cdigoD a 3erana signi,ica maior integridadeD
pois
Euando se a'tera um comportamento em uma c'asseD todos as c'asses
descendentes desta tambm estaro uti'i:ando o mtodo atua'i:ado sem
necessidade de reprogramao.
?$$>$ For*a' de 7eran,a &eran,a Si*0le':
A 3erana denominada simp'es Euando uma c'asse 3erda caracter$sticas
de apenas uma superc'asse. Por e#emp'oD podemos ter como superc'asse uma
c'asse c3amada PessoaD e de'a deri/ar uma subc'asse c3amada
Funcion+rio. "sta no/a c'asseD Funcion+rioD 3erda todas as caracter$sticas da sua superc'asse
PessoaD e de mais nen3uma outra. &omo di,erencia' esta no/a c'asse
Funcion+rio possui atributos e mtodos Eue a c'asse Pessoa no possuiD uma /e: Eue 14

atributos como 5a'+rio e Funo no pertencem ao conte#to da c'asse
PessoaD
mas sim ao conte#to da c'asse Funcion+rio.
Pessoa
*o me
@9
&PF
"ndereo
Funcion+rio
*ome
@9
&PF
Fi+ura % G Herana 5imp'es
"ndereo
*ada impedeD entretantoD Eue a mesm a superc'asse gere mais de uma subc'asse.
>ma superc'asse Pessoa pode gerar uma subc'asse &'iente da mesm a
,orma
como pode gerar uma subc'asse Funcion+rio.
Pessoa
*o me
@9
&PF
"ndereo
Funcion+rio
&'iente
*ome
Mimite &rdito
@9
Pre,er?ncias
&PF
"ndereo
Fi+ura %= G Herana 5imp'es com dois descendentes &eran,a MIlti0la:
A 3erana denominada m7'tip'a Euando uma c'asse 3erda caracter$sticas
de duas ou mais superc'asses. Por e#emp'oD usando o e#emp'o do Funcion+rio e do
&'ienteD de/emos estar atentos ao ,ato de Eue um ,uncion+rio pode /ir a ser
um
c'iente tambm. AssimD a'm de possuir atributos e mtodos Eue o
Eua'i,icam 28

como ,uncion+rioD de/e tambm possuir possui atributos e mtodos Eue o
Eua'i,icam como c'iente.
Para tantoD o Eue pode ser ,eito criar uma no/a subc'asseD c3amada
Funcion+rio=&'ienteD Eue tem como superc'asse as c'asses Funcion+rio e
&'iente.
"sta no/a c'asseD Funcion+rio=&'ienteD 3erda todas as caracter$sticas da
superc'asse PessoaD Funcion+rio e &'iente. O seu di,erencia' pode ser
e#atam ente o ,ato de possuir os atributos e mtodos da c'asse Funcion+rio e
da
c'asse &'iente juntas. Porm nada impede Eue ten3a atributos prprios com oD
por
e#emp'oD um desconto especia' para c'ientes de uma empresa Eue so
tambm
,uncion+rios.
Pessoa
*ome
@9
&PF
"ndereo
Funcion+rio
&'iente
*ome
Mimite &rdito
@9
Pre,er?ncias
&PF
"ndereo
Funcion+rio=&'iente
-esconto "specia'
Fi+ura %> G Herana 67'tip'a
21

E9er)5)io =:
Pessoa
*ome
@9
&PF
"ndereo
&'iente
Funcionario
&odigo
Mocao
6atricu'a
9erente <ecnico
*umFunc &d.9erente
.os Pedro Ana
5egundo o diagrama marEue /erdadeiro G1H ou ,a'so GFH para as
a,irmaIes
abai#o.
G H O digrama acim a i'ustra cinco c'asses e tr?s objetos.
G H A c'asse Funcion+rio apresenta tr?s descendentes e um ancestra'.
G H Podemos di:er Eue .os um objeto instanciado da c'asse gerente.
G H A c'asse <cnico 3erda todos os atributos de Funcion+rioD Pessoa e &'iente.
G H A c'asse Funcion+rio subc'asse de Pessoa e superc'asse de 9erente e
<cnico.
G H O objeto Pedro poderia 3erdar os mtodos de Pessoa caso e#istissem.
G H Os atributos AMocaoC eC6atricu'aC pertencem e#c'usi/amente a c'asse
Funcion+rio.
G H 5e ,or inc'u$do um no/o atributo na c'asse Pessoa todas as outras c'asses
descendentes passaram a ter este atributo tambm. G H O tipo de 3erana e#istente entre &'iente e Pessoa 3erana simp'esD j+ entre Funcion+rioD <cnico e 9erente do tipo 3erana m7'tip'a. 22

?$$?$ Poli*or;i'*o:
O Po'imor,ismo a capacidade de uma /ari+/e' se re,erir em tempo de
e#ecuo
a objetos de di/ersas c'asses. Podemos de,ini='o tambm como sendo o
nome
dado R capacidade Eue objetos di,erentes t?m de responder a uma mesma
mensagem. >ma mesma mensagem pode apresentar ,ormas de e#ecuo
di,erentesD prprias de cada objeto. &om esta caracter$stica o usu+rio pode
en/iar
uma mensagem genrica e abandonar deta'3es sobre a e#ata
imp'ementao
sobre o objeto receptor.
GRADAR
Fi+ura %? ; "#emp'o de Po'imor,ismo.
Pe'o e#em p'o da ,igura 10D /eri,icamos Eue o computador e a ,i'madora
possuem
uma mesma ,uno Eue gra/arD mas esta ,uno rea'i:ada de ,orma di,erente.
O po'imor,ismo uma caracter$stica importante da orientao a objetos Eue
est+
diretamente 'igada R 3ereditariedade de c'asses.
1O 0oli*or;i'*o o)orre 2uando u* *:todo
2ue /A ;oi de;inido no an)e'tral : rede;inido
no de')endente )o* u* )o*0orta*ento
di;erente$4
23

E9er)5)io >:
-os objetos abai#oD separe em grupos aEue'es Eue possuem AmtodosC
em
comum D m as Eue so e#ecutados de ,orma di,erenteD ou sejaD apresentam
po'imor,ism o entre e'es.
G1H G2H G3H G4H G0H
G!H G%H G(H G4H
G18H G11H G12H G13H
G14H G10H G1!H G1%H
G1(H G14H G28H G21H
G22H G23H G24H G20H
24

$@$ E'trutura':
As estruturas ajudam os ana'istas a arranjar os objetos de ,orma Eue se
possa
/isua'i:ar me'3or o dom$nio e a comp'e#idade do prob'ema em estudo. *a
an+'ise
orientada a objetosD e#istem dois tipos b+sicos de estrutura:
9enera'i:ao;
"specia'i:ao e <odo;Parte.
@$$%$ E'trutura de Generali3a,-o G E'0e)iali3a,-o:
Para mostrar um e#emp'o da ap'icao dessa estruturaD uti'i:aremos o
mesmo
e#emp'o apresentado no item Herana sim p'esD aEue'e Eue trata da c'asse
PessoaD Funcion+rio e &'iente. *este casoD temos a c'asse Pessoa como a mais
a'ta c'asse genera'i:adaD sendo ento a superc'asse da estrutura. A bai#o
de'aD
encontramos as suas duas subc'assesD Funcion+rio e &'ienteD Eue nada mais so
Eue especia'i:aIes da c'asse Pessoa. OuD simp'esmenteD podemos /er a c'asse
Pessoa como uma genera'i:ao da c'asse Funcion+rio e da c'asse &'iente.
"sta estrutura ,ormada por uma c'asse genrica no topo da estrutura e
suas
c'asses descendentes especia'i:adas dispostas abai#o. O uso do
semic$rcu'oD
con,orm e mostra a i'ustrao da Figura 1!D identi,ica a c'asse genrica e
as
especia'i:aIes. A 'in3a saindo do ponto centra' do semic$rcu'o aponta
para a
genera'i:ao.
Pessoa
*o me
@9
&PF
"ndereo
Funcion+rio
&'iente
*ome Mimite &rdito
@9
Pre,er?ncias
&PF
"ndereo
Fi+ura %@ G "#emp'o de um a estrutura de 9enera'i:ao="specia'i:ao "sta estrutura D basicamenteD uma estrutura 3ier+rEuica onde temos superc'asses e suas respecti/as subc'asses. A estrutura 9enera'i:ao ;
"specia'i:ao D de ,atoD o processo de 3erana discutido na seo
anterior. AssimD desejando=se rea'i:ar uma 3erana de/e=se uti'i:ar esta estrutura. 20

@$$$ E'trutura Todo H Parte:
"ste tipo de estrutura bastante caracter$sticoD uma /e: Eue trata de
agregao
ou decomposio de objetos. "ssa estratgia bastante 7ti' na identi,icao dos
objetos e dos seus componentes diante de um determinado prob'ema em estudo.
J nesta estrutura Eue descre/emosD Euando ,or o casoD Euais subc'asses ,ormam
uma superc'asse. )sto signi,ica Eue um objetoD ou mesmo uma c'asse
pode
conterD dentro de siD outras estruturas. AssimD o nosso entendimento sobre
um
determ inado prob'ema redu:=se ao estado do prob'ema em EuestoD tornando
a
an+'ise m ais c'ara e tam bm objeti/a.
A notao gr+,ica bastante simp'es. >sa=se um triFngu'oD partindo das
subc'asses apontando a superc'asseD dessa ,orma sabemos Euem
composto
por Euem.
>m bom e#emp'o para i'ustrar esse tipo de estrutura pode ser a re'ao entre um
carro e seus componentes. O carro tratado como um objeto pode ser decomposto
em di/ersos outros objetosD com o o motorD as rodasD o paine'D o bancoD as portas
etc. Podemos seguir com a decomposio e a/anar sobre o motorD Eue pode ser
di/idido em distribuidorD carburador e outros. PortantoD percebemos Eue um
objeto
mais comp'e#oD muitas /e:esD nada mais do Eue um agregado de
di/ersos
outros objetos simp'es.
&arro
6otor @oda
Fi+ura %" G "strutura <odo=Parte A estrutura <odo ; Parte tambm possui outro componenteD c3amado de
cardina'idade. "ssa pa'a/ra um termo so,isticado Eue signi,ica AEuantoC.
Por e#emp'oD um carro possui 4 rodas G0 para o caso do estepeHD Eue sob o ponto de 2!

/ista da an+'iseD so todas iguais. Ou sejaD cada roda igua' R outra.
AssimD
/emos a roda como um objeto Eue se repete 4 a 0 /e:es dentro do objeto carro.
"stendendo a cardina'idade tambm ao motor do nosso carroD temos uma
re'ao
de 8D1 do motor para com o carroD e de 1D1 do carro para com o motor. Ou sejaD
signi,ica Eue o motor pode estar em nen3um ou um carroD e Eue o carro de/e ter
no m$nimo 1 motor e no m+#imo tambm 1. *o temos /isto at o momento
um
carro com dois motoresD mas certamente j+ /imos motores sem carro Gem
o,icinas
mecFnicas por e#emp'oH.
&arro
8D1
8D1
1D1
4D0
6otor @oda
Fi+ura %B G &ardina'idade
=$ M ode la +e * de u * S i' t e* a Or ie nt a do a o. /e t o' :
A mode'agem baseada em objetos um meio para se descre/er os sistemas
do
mundo rea'. >m objeto representa uma abstrao de uma entidade do
mundo
rea'D com binandoD em um mesmo e'emento in,ormao e comportamento.
Os
paradigmas anteriores do desen/o'/imento de so,tBare 'iga/am apenas
,racamente a in,ormao e o comportamento. A orientao a objetos
condu: a uma unio m ais bem de,inida destes dois conceitos.
J per,eitamente poss$/e' mode'ar uma so'uo pensando tota'mente
orientado a objetos desde a ,ase de an+'iseD passando pe'o projeto do so,tBare e c3egando R imp'ementao em uma 'inguagem de programao orientada a objetos. >ma grande /antagem de se pensar tota'mente orientado a objeto o ,ato de Eue um mesmo objetoD concebido em ,ase de an+'iseD passa com as mesmas
caracter$sticas desde o usu+rio at o programador Eue ser+ respons+/e'
pe'a codi,icao ,ina'. 2%

Apesar das m7'tip'as tcnicas de mode'agem de sistemas baseadas em objetos e
,i'oso,ias di,erentes di,undidas atua'menteD uma parte consider+/e' dos
autores
Gta'/e: todosH con/erge Euando se trata de um ponto em particu'arD o processo
de
an+'ise inicia com a identi,icao das c'asses e dos objetos. A idia EueD
uma
/e: de,inidas as c'asses e os objetosD o ana'istaD e#pandindo e ajustando essas
c'asses e objetos tambm acabe me'3orando o mode'o. "sse processo natura'
e esperado.
Os passos b+sicos a serem obser/ados para o desen/o'/imento de um
mode'o
orientado a objetosD norma'mente compreendidosD so os seguintes:
1. )denti,icar as &'asses e os Objetos[
2. )denti,icar as "struturas e os @e'acionamentos entre os Objetos.
3. )denti,icar os Atributos e os 6todos )mportantes[
Ao contr+rio de outras tcnicas de m ode'agem de sistemasD o ,oco
principa' da
an+'ise orientada a objetos no est+ centrado na estrutura ou nos dados
do
sistemaD mas sim na composio das c'asses e objetos do sistema. J
muito
importante Eue todas as c'asses e objetos estejam bem de,inidas antes de
comear Eua'Euer 'in3a de cdigoD pois as c'asses e os objetos esto amarrados
de ta' modo Eue mesmo uma a'terao peEuena pode acarretar uma
mudana
Eue tende a se propagar por todo o sistema mode'ado.
E9er)5)io ?:
Para i'ustrar a ap'icao dos passos descritosD uti'i:aremos um e#emp'o de
mode'agem de uma esco'a Eue o,erece cursos para a comunidade. A re'ao das
prem issas Eue de/ero ser consideradas neste sistema a seguinte:
K >m curso pode ser ,ormado por um a ou muitas discip'inas di,erentes[
K >ma discip'ina poder+ ,a:er parte de nen3um ou at muitos cursos[
K &ada discip'ina de/er+ ser ministrada por apenas um pro,essorD podendo o
pro,essor m inistrar uma ou muitas discip'inas di,erentes[
K >m curso no poder+ ter mais de 48 a'unosD nem menos de 28 a'unos
matricu'ados[
K Para cada turma de a'unos de/er+ 3a/er uma sa'a de au'a[
K >m a'uno poder+ se matricu'ar em nen3um ou at muitos cursos[
1. )denti,icar as &'asses e os Objetos[ 2(

2. )denti,icar as "struturas e os @e'acionamentos entre os Objetos.
3. )denti,icar os Atributos e os 6todos )mportantes[
24

>$ P ro +r a* a ,- o Or ie nt a da a O. /e t o' :
A programao orientada a objetos consiste em uti'i:ar estruturas de dados
Eue
simu'em o com portamento dos objetosD ,aci'itando a programao pe'o
uso de
uma metodo'ogia uni,icada para a an+'ise e a programao. Os mesmos
objetos
Eue o ana'ista identi,ica no seu diagrama podem ser imp'ementados
e#atamente
como ,oram projetadosD sem necessidade de ,a:er uma AtraduoC dos
diagramas
da an+'ise para estruturas de dados e de programao como acontece na an+'ise
estruturada.
J poss$/e'D entretantoD ,a:er uma an+'ise orientada a objetos e
imp'ementar em
uma 'inguagem tradiciona'D bem com o poss$/e' tambm ,a:er
imp'ementaIes
em 'inguagens orientadas a objetos de sistemas ana'isados com outras
metodo'ogias.
1Pro+ra*a,-o Orientada a O./eto' )on'i'te e*
utili3ar o./eto' )o*0uta)ionai' 0ara i*0le*entar
a' ;un)ionalidade' de u* 'i'te*a$4
As tcnicas de programao orientada a objetos recomendam Eue a estrutura de
um objeto e a imp'ementao de seus mtodos de/em ser to pri/ati/os
como
poss$/e'. *orma'menteD os atributos de um objeto no de/em ser /is$/eis
e#ternamente. -a mesma ,ormaD de um mtodo de/e ser su,iciente
con3ecer
apenas sua especi,icaoD sem necessidade de saber deta'3es de como a
,unciona'idade Eue e'e e#ecuta imp'ementada.
38

?$ D an t a+ en ' e Be ne ; 5) io ' da 0r o+ ra * a, - o O O:
A Orientao a Objetos consiste em conceber um sistema computaciona'
como
um todo orgFnico ,ormado por objetos Eue se re'acionam entre si. "sse
en,oEue
pode ser ap'icado tanto R an+'ise de sistemas Euanto R programaoD e
essa
uma das principais /antagens da orientao a objetos: a mesma
metodo'ogia
ser/e tanto para a de,inio 'gica do sistema Euanto para a sua imp'ementao.
Jni;i)a,-o entre dado' e 0ro)e''o':
>ma antiga Euesto da an+'ise de sistemas a consist?ncia entre a de,inio dos
dados e dos processos. A'gumas metodo'ogias recomendam de,inir a estrutura
de
dados primeiroD e em seguida de,inir os processos Eue os uti'i:am. Outras
recomendam o oposto: procurar de,inir os procedimentos Eue o sistema
autom ati:a e posteriormente identi,icar os dados Eue esses processos
necessitam.
"ntretantoD na pr+tica di,ici'mente essas duas /isIes so coerentes entre si.
Partindo dos dadosD c3ega=se a processos di,erentes do Eue aEue'es identi,icados
pe'o en,oEue nos processosD e /ice=/ersa. "m projetos maioresD Euando 3+
pessoas di,erentes identi,icado dados e processosD essas di,erenas 'e/am a
prob'em as Eue /o comp'icar a imp'ementaoD pois os procedimentos
podem
no estar comp'etamente compat$/eis com a base de dados.
*a orientao a objetosD esse prob'ema ine#iste: dados e processos so
apenas
componentesD e o en,oEue est+ em identi,icar Euais os objetos Eue
interagem
entre si no sistema. Os dados so identi,icados procurando os atributos
Eue
de,inem os objetosD e os procedimentos pe'as operaIes Eue estes objetos
rea'i:am. A interao entre os objetos de,inida pe'as estruturas e
re'acionamentos Eue so identi,icados. O resu'tado Eue em um mode'o
orientado a objetosD e#iste tota' coer?ncia entre os dados e os processosD mesmo
Euando 3+ muitas pessoas traba'3ando no mesmo sistema.
Con'i't<n)ia entre anAli'e e de'en6ol6i*ento:
A an+'ise de sistemas con/enciona' procura mapear separadamente as estruturas
de dados e os processos Eue m anipu'am esses dados. *orma'mente isso ,eito
uti'i:ando=se como ,erramentas o 6ode'o de " ntidades e @e'acionamento
G6"@H
e o -iagrama de F'u#o de -ados G-F-H. " ssa mode'agem do sistema
apenas
conceitua'D e no e#iste corre'ao direta entre as entidades conceituais 'e/antadas na an+'ise e as entidades ,$sicas a serem imp'ementadasD sejam estruturas de dados ou programas.
Por e#emp'oD uma entidade em um diagrama de ,'u#o de dados Eue
representa
um processo pode tanto ser imp'ementado em /+rios programas como
/+rias
entidades serem imp'ementadas em um 7nico programa. <anto Eue
Euase
imposs$/e' 'er um programa Eua'Euer e identi,icar Eua' dos processos do -F-
Eue e'e est+ imp'ementando. 31

>ti'i:ando=se orientao a objetos tanto na an+'ise Euanto no
desen/o'/imentoD
esse prob'ema no e#iste. As c'asses e objetos de,inidos na an+'ise so
e#atam ente os mesmos Eue sero imp'ementados. -ependendo do
ambiente e
da 'inguagem esco'3idos iro ,a:er com Eue seja necess+rio acrescentar objetos
a mais na imp'ementaoD norma'mente para o contro'e da inter,aceD redu:indo
o
n7mero de prob'emas oriundos de erros de traduo entre an+'ise e
imp'ementao.
Reutili3a,-o e au*ento da 0roduti6idade:
A produti/idade do desen/o'/imento de sistemas orientados a objetos /is$/e'
e
bastante percept$/e' principa'mente Euando ,a:emos uso da reuti'i:ao. A
reuti'i:aoD na pr+tica da orientao a objetosD muito mais do Eue
simp'esmente copiar ,unIesD ou mesmo uti'i:ar bib'iotecas de ,unIes
como se
,a: ainda em programas escritos usando o paradigm a da programao
estruturada. A reuti'i:ao de objetos D de ,atoD a uti'i:ao de objetos j+
uti'i:ados em sistemas anteriores em no/os sistemas sem modi,icar suas
estruturas internasD ou mesmo sem a necessidade de ,a:er modi,icaIes no
sistema para acomodar esses no/os cdigos.
A reuti'i:ao de objetos j+ encapsu'ados pode somar ,ora Euando /amos
projetar um no/o sistema de in,ormaIes. PodemosD por e#emp'oD durante
um
no/o projetoD depois de identi,icar Euais sero os objetos necess+rios para
operaciona'i:ar o no/o sistemaD buscar a reuti'i:ao de objetos j+
imp'ementados
em sistemas anteriores. AssimD antes mesmo de partir para a imp'ementao dos
no/os objetosD podemos buscar objetos j+ imp'ementados em outros
sistemas e
uti'i:a='os sem a'terao de estrutura. 5e j+ e#istirem esses objetosD estes podem
ser inc'u$dos no no/o sistema sem a necessidade e o custo de criao.
Outra opo tambm pode ser a trans,ormao de objetos seme'3antesD ou sejaD
objetos j+ imp'ementados cujas caracter$sticas so bastante seme'3antes aos
objetos necess+riosD podemD com peEuenas modi,icaIesD serem 7teis ao
no/o
sistema. Outra ,orma de reuti'i:ao pode surgir uti'i:ando a propriedade
da
3erana entre objetosD ou sejaD caso surja necessidade de um no/o objeto
cuja
idia esteja baseada em um objeto j+ e#istenteD podemos criar no/os
objetos
3erdando as caracter$sticas dos objetos j+ desen/o'/idos. "ssa propriedade
dim inui sensi/e'mente o custo de desen/o'/imento de no/os sistemas.
Multide'en6ol6i*ento:
O mu'tidesen/o'/imento de um sistemaD Euando uti'i:ada a tcnica de desen/o'/imento estruturado de sistemasD D certamenteD muito de'icado. A
tcnica em si parece no ajudar muitoD j+ Eue e#isteD recon3ecidamenteD
um
/erdadeiro abismo entre as ,ases de an+'iseD projeto e programao. Para
esse
tipo de empreendimentoD necess+rio no somente uma e#tensa e
deta'3ada
documentao sobre o sistemaD mas tambm um grande entrosamento entre
as di/ersas eEuipes Eue compIem o grupo de desen/o'/imento.
-entro do conte#to da orientao a objetosD o mu'tidesen/o'/imento
tambm
uma rea'idade ,aci'itadaD de/ido ao ,ato de Eue o ,uncionamento interno
dos 32

objetos irre'e/ante para sua uti'i:ao. )sso signi,ica Eue Eua'Euer
desen/o'/edor pode uti'i:ar os objetos desen/o'/idos por Eua'Euer outroD
bastando para isso con3ecer o conjunto de mtodos necess+rios para uti'i:+='os.
-esde Eue a inter,ace no mudeD o ,uncionamento interno pode mudar sem
a,etar
outras partes do sistema. J certo Eue um procedimento parecido de/er+
ocorrer
se tratando de um sistema estruturadoD pormD 'embramos Eue temos ,aci'idades
de transposio de cdigo Eue o mtodo estruturado no possuiD com o
por
e#emp'oD a ,aci'idade de manusear objetos imp'ementados. Faci'idade essa
e#istente graas ao ,ato de os objetos estarem encapsu'ados. "ssa
,aci'idade
tambm /eri,icada durante toda a imp'ementaoD pois a ateno est+
/o'tada
ao objeto e no ao sistema. 2asta Eue os objetos sejam constru$dos con,orme
o
projeto para Eue ,uncionem em 3armonia com os outros objetos.
Fa)ilidade' e* *anuten,-o:
cuando ,a'amos em manuteno de sistemas orientados a objetosD ,a'amos
em
manuteno de objetos. *o/amente a ateno centrada no objetoD e no em um
sistema com suas inter'igaIes. AssimD todas as modi,icaIes necess+rias
para
,a:er ,uncionar as no/as tare,as do sistema em manuteno ,icam restritas
Rs
modi,icaIes no comportamento dos objetos en/o'/idos no conte#to da
no/a
necessidade.
*a programao con/enciona' a a'terao de uma ,unciona'idade Eue
uti'i:ada
em /+rios 'ugares do sistema pode se tornar um /erdadeiro pesade'o. O
programador Eue e,etuar a manuteno pode no conseguir 'oca'i:ar todos
os
trec3os de cdigo Eue acessam a ,unciona'idadeD e a'gumas /e:es ao rea'i:ar
a
a'teraoD so inc'u$dos erros em a'guns dos 'ocais a'terados. " de/emos
contar
tambm a Euantidade de 3oras de traba'3o Eue sero gastas nesse
procedim ento.
>ti'i:ando a orientao a objetosD as a'teraIes so e,etuadas em um
7nico
pontoD dentro do cdigo do objeto Eue imp'ementa o comportamento a
ser
a'terado. *o e#istem d7/idas Euanto ao 'oca' da a'terao: s 'oca'i:ar
o
programa onde o objeto em Euesto est+ sendo imp'ementado.
O procedimento de manuteno restrito ao objeto redu: custoD tempo e assegura
a certe:a de uma manuteno e,ica:. )sso poss$/e' por Eue as /ari+/eis
en/o'/idas esta/am restritas aos objetos modi,icados Gatributos e mtodosHD
e
mais em nen3uma outra parte do sistema. Os sistemas Eue dependem dos
objetos a'terados no necessitaro de Eua'Euer a'terao. "ssa ,'e#ibi'idade
tambm permite Eue no/os objetos sejam acrescidos ou e#c'u$dos com
iguais
,aci'idadesD e da m esma ,orma no teremos rastros de cdigo sem /ida e
sem ,uno dentro do sistema. 33

@$ E 9e r )5 )i o d e re 6 i' -o :
Para as a,irmaIes abai#oD numere a segunda co'una de acordo com a primeira:
Coluna % Coluna
G 1 H Orientao a Objetos GdddH J o mecanismo pe'o Eua' uma c'asse obtm as
G 2 H Objeto caracter$sticas e mtodos de outra para e#pandi='a ou
G 3 H Atributos especia'i:+='a de a'guma ,ormaD ou sejaD uma c'asse
G 4 H 6todos pode A3erdarC caracter$sticasD mtodos e atributos de
G 0 H &'asses outras c'asses. -a mesma maneira uma c'asse transmite
G ! H Herana suas caracter$sticas para outras c'assesD tornando
G % H Po'imor,ismo aEue'as Eue recebem suas caracter$sticas suas
G ( H Herana simp'es 3erdeiras.
G 4 H Herana m7'tip'a GdddH @epresenta um gabarito para muitos objetos e
G 18 H 9enera'i:ao;"specia'i:ao descre/e como estes objetos esto estruturados
G 11 H <odo;Parte internamente.
G 12 H )nstanciao GdddH cuando uma c'asse 3erda caracter$sticas de duas
G 13 H HierarEuia de c'asse ou mais superc'asses.
G 14H &'asses puras GdddH "sta estrutura ,ormada por uma c'asse genrica
no topo da estrutura e suas c'asses descendentes
especia'i:adas dispostas abai#o.
GdddH Propiciam a interao com os objetos.
GdddH 5ua uti'i:ao nos permite omitir da dec'arao de um objeto ou de uma
c'asse in,erior
tudo aEui'o Eue j+ ,oi de,inido naGsH c'asseGsH superiores.
GdddH J Euando a c'asse produ: um objetoD como se e'a ,osse uma
espcie de mode'o ou gabarito para a criao de objetos.
GdddH 5o c'asses das Euais os objetos nunca so instanciados diretamenteD
mas sempre por
uma c'asse descendente de'a.
GdddH "ntidade do mundo rea' Eue merece representao para o sistema em
ana'ise.
GdddH 5igni,ica Eue todos os atributos e mtodos programados no
ancestra' j+ estaro
automaticamente presentes em seus descendentes sem necessidade de reescre/?=
'os. GdddH cuando uma c'asse 3erda caracter$sticas de apenas uma superc'asse.
GdddH cuando disparadosD podem pro/ocar modi,icaIes nos atributos dos
objetos.
GdddH @epresenta um conjunto de objetos Eue possuem caracter$sticas e
comportamentos comuns.
GdddH Ocorre Euando um mtodo Eue j+ ,oi de,inido no ancestra' rede,inido
no descendente com um comportamento di,erente.
GdddH "sta estrutura D basicamenteD uma estrutura 3ier+rEuica onde temos
superc'asses e suas
respecti/as subc'asses.
GdddH J a instFncia de uma c'asse.
GdddH >sado para representar um determinado e'emento do mundo rea'.
GdddH 5o as caracter$sticas Eue descre/em um objeto. GdddH 5o as aIes Eue um objeto pode e#ecutar.
GdddH "ste tipo de estrutura bastante caracter$sticoD uma /e: Eue trata
de agregao ou decomposio de objetos. GdddH 5eus /a'ores de,inem o estado do objeto.
GdddH &onsiste em considerar os sistemas computacionais como uma co'eo
de objetos Eue interagem de maneira organi:ada. 34

"$ Bi .li o+r a ; ia :
&OA-D Peter e UO>@-O*D "dBard. AnAli'e Ba'eada e* O./eto'. @io de
.aneiro : &ampusD 1442.
<AF*"@D 6a'con A. e &O@@" AD &ar'os H. . Manual de AnAli'e Orientada a
O./eto'$ 2'umenau ; 5&.
@)&A@<"D )/an Mui: 6arEues. Pro+ra*a,-o Orientada a O./eto': J*a
A.orda+e* )o* Ja6a$ &ampinasD 2881.
30

Vous aimerez peut-être aussi