Escolar Documentos
Profissional Documentos
Cultura Documentos
Paradigmas de Programao
1. Introduo
O conceito de programao orientada a objeto tem suas razes na SIMULA 67, mas
no foi amplamente desenvolvido at que a evoluo da Smalltalk resultasse na produo de
sua verso 80 (1980). De fato, alguns consideram a Smalltalk a nica linguagem puramente
orientada a objetos.
A idia bsica do paradigma orientado a objetos imaginar que programas simulam o
mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos
conceitos de simulao do mundo real devem incluir um modelo de objetos que possam enviar
e receber mensagens e reagir a mensagens recebidas. Esse conceito baseado na idia de
que no mundo real frequentemente usamos objetos sem precisarmos conhecer como eles
realmente funcionam. Assim, programao orientada a objetos fornece um ambiente onde
mltiplos objetos podem coexistir e trocar mensagens entre si.
Um exemplo:
Retire o seu relgio do pulso e comece a analis-lo. Verifique que ele um objeto real,
que lhe d algumas informaes como hora, data e dia da semana e que tem cronmetro e
alarmes. Essas informaes so atributos que so manipulados pelo relgio, ou seja, um
objeto tem atributos.
O relgio tambm tem botes, como um boto de iluminao, um boto para selecionar
o atributo a ser visto, um boto para acertar a hora. Podemos dizer que o acionamento desses
botes corresponde ao acionamento de uma determinada funo do relgio. Logo, um objeto
tem funes (mtodos).
Alm dos botes, o relgio tambm tem uma caixa externa e uma pulseira, ou seja, um
objeto relgio composto de outros objetos. Um objeto pode ser formado a partir de um
conjunto de objetos.
Falamos de um relgio moderno, com alarmes e cronmetros; mas um relgio antigo
s informava a hora; de um relgio de bolso evoluiu-se para relgios de pulso, para relgios de
parede, para relgios com alarmes, com cronmetros etc., ou seja, um objeto pode evoluir de
acordo com uma herana.
Voc tambm sabe que existe uma fbrica de relgios, e que nela esto as
informaes para se construir o relgio. Veremos que uma classe uma fbrica de objetos, e
na classe que se encontram as informaes de como montar o objeto.
Pgina 1
2.1 Abstrao
No dicionrio Aurlio, abstrao significa considerar isoladamente coisas que esto
unidas, ou seja, partimos do enfoque global de um determinado problema e procuramos
separar os elementos fundamentais e coloc-los de uma forma mais prxima da soluo. A
idia da abstrao identificar os elementos essenciais de um problema e suas propriedades
fundamentais.
Para orientao a objetos, abstrao o processo de identificao dos objetos e seus
relacionamentos. Ela permite ao programador concentrar-se no que um objeto e faz, sem se
preocupar como ele o faz. A abstrao se d em diferentes nveis: inicialmente, abstrai-se o
objeto; de um conjunto de objetos cria-se um conjunto de classes relacionadas, de um conjunto
de classes cria-se uma biblioteca de classes.
2.3 Classes
Uma classe um conjunto de cdigos de programao que incluem a definio dos
atributos e dos mtodos necessrios criao de um ou mais objetos.
A classe contm a descrio da forma do objeto, um molde para a criao do objeto,
uma fbrica de objetos. Uma classe tambm um tipo definido pelo usurio.
Classe abstrata: Uma classe abstrata quando no completa e no pode criar
objetos.
2.4 Encapsulamento
Encapsulamento o ato de esconder do usurio informaes que no so de seu
interesse. O objeto atua como uma caixa preta, que realiza determinada operao, mas o
usurio no sabe, e no precisa saber, exatamente como feita. Ou seja, o encapsulamento
envolve a separao dos elementos visveis de um objeto dos invisveis.
Exemplo: um computador um objeto extremamente complexo, mas para o usurio o
que importa o teclado, o monitor, o mouse e o gabinete.
Pgina 2
2.8 Polimorfismo
Polimrfico: aquilo ou aquele capaz de assumir mltiplas formas.
Polimorfismo ocorre quando se pode atribuir diferentes significados ou utilizaes para
algo em contextos diferentes por exemplo o nome de uma nica ao pode ser definido sobre
mais de um objeto, podendo assumir diversas implementaes em cada um deles.
Polimorfismo de subclasse a propriedade pela qual uma varivel pode apontar para
objetos de diferentes classes em instantes diferentes.
Pgina 3
//Construtor
Cliente::Cliente(int _numCliente, float _saldo)
{
numCliente = _numCliente;
saldo = _saldo;
}
// Implementao dos mtodos da classe cliente.
int Cliente::AcessaNumCliente()
{
return(numCliente);
}
float Cliente::AcessaSaldo()
{
return(saldo);
}
void Cliente::AtualizaSaldo(float NovoSaldo)
{
saldo = NovoSaldo;
}
Pgina 4
Pgina 5
Pgina 6
Pgina 7