Professional Documents
Culture Documents
Conceitos bsicos
Programao Orientada a
Objetos
Introduo
Introduo
Uma abordagem tpica usada no desenvolvimento de
programas complexos consiste em decompor os
programas em diversos mdulos e dividir cada mdulo em
diversas funes. Cada funo responsvel por parte da
soluo
do
problema.
Esta
abordagem
de
desenvolvimento se baseia na decomposio funcional.
Embora a decomposio funcional tenha sido amplamente
utilizada nos ltimos anos, apresenta algumas deficincias
tais como o fraco acoplamento entre dados e funes.
A orientao a objetos, tambm conhecida como
Programao Orientada a Objetos (POO) ou ainda em
ingls Object-Oriented Programming (OOP) um
paradigma de anlise, projeto e programao de sistemas
de software baseado na composio e interao entre
diversas unidades de software chamadas de objetos. Em
outras palavras, os softwares so compostos por mdulos
(objetos) cujos dados e funes so fortemente acoplados.
Conceitos Bsicos
Os principais conceitos de orientao
a objetos so: classes, objetos,
estado,
comportamento,
encapsulamento,
mensagens
e
abstrao.
Classes
Em orientao a objeto, uma classe uma estrutura que
abstrai um conjunto de objetos com caractersticas
similares. Uma classe define o comportamento de seus
objetos atravs de mtodos e os estados possveis destes
objetos atravs de atributos. Em outros termos, uma classe
descreve os servios providos por seus objetos e quais
informaes eles podem armazenar.
Objetos
Estado e comportamento
Encapsulamento
Encapsulamento justamente o empacotamento dos atributos e
dos mtodos numa mesma classe. Isto protege os dados contra
corrupo, pois somente os mtodos da classe podero alterar as
estruturas de dados desta classe em questo, ilustradas pela
figura.
Mensagem
Os objetos se comunicam entre si atravs de mensagem. A
mensagem especifica que um determinado mtodo de um
objeto necessita utilizar um ou mais mtodos de outro objeto.
Podem ser passados objetos como parmetro, e,
opcionalmente, algum resultado ou valor pode ser retornado.
As mensagens especificam que os mtodos devem ser
executados, no como estes mtodos devem ser executados.
Quando um objeto A quer que o objeto B faa uma ao, o
objeto A, envia uma mensagem ao objeto B: A pede para B
fazer Ao = A pede para B executar mtodo 1
Abstrao
Abstrao o exame seletivo de
determinados
aspectos
de
um
problema. O objetivo da abstrao
isolar os aspectos que sejam
importantes para algum propsito e
suprimir os que no o forem. A
abstrao deve sempre visar a um
propsito, porque este determina o
que e o que no importante.
Exemplo de abstrao
Polimorfismo
o polimorfismo permite que referncias de tipos de classes
mais abstratas representem o comportamento das classes
concretas que referenciam. Assim, um mesmo mtodo pode
apresentar vrias formas, de acordo com seu contexto. O
polimorfismo importante pois permite que a semntica de
uma interface seja efetivamente separada da implementao
que a representa. O termo polimorfismo originrio do grego e
significa "muitas formas" (poli = muitas, morphos = formas).