You are on page 1of 4

Os pilares do paradigma Orientado a Objetos

Dentre as principais caractersticas do paradigma orientado a objeto (OO),


destacamos:
Encapsulamento:
Encapsular significa esconder. O objeto esconde seus dados (atributos) do acesso
indevido de outros objetos. Os dados somente devem ser acessados por mtodos
(funcionalidades que implementam o comportamento do objeto) da prpria classe,
o que pode ser visualizado na figura abaixo (Encapsulamento).

O encapsulamento uma tcnica para minimizar a interdependncias entre as


classes, pois apenas os mtodos da respectiva classe podem alterar seus dados
(atributos), facilitando a identificao de erros e a alterao dos programas.

Herana:
Mecanismo para derivar novas classes a partir da definio de classes existentes
atravs de um processo de refinamento. Uma classe derivada ou descendente
herda os dados (atributos) e comportamento (mtodos) da classe base ou ancestral
ou ascendente.
Conforme ilustrado na figura abaixo, as classes ContaPoupana e
ContaInvestimento herdam da classe Conta, os atributos e mtodos que so
permitidos. A classe Conta chamada Classe base, uma vez que a base da
herana. Veja:

A implementao da herana garante a reutilizao de cdigo, que alm de


economizar tempo e dinheiro, propicia mais segurana ao processo de
desenvolvimento, posto que as funcionalidades da classe base j foram usadas e
testadas.

Polimorfismo:
A palavra polimorfismo, deriva do grego, e significa muitas formas. A partir do
momento em que uma classe herda atributos e mtodos de uma (herana simples)
ou mais (herana mltipla) classes base, ela tem o poder de alterar o
comportamento de cada um desses procedimentos (mtodos). Isso amplia o poder
do reaproveitamento de cdigo promovido pela herana, permitindo que se
aproveite alguns mtodos e se altere (redefina) outros.

Dessa forma, um mtodo com mesmo nome, em classes distintas, pode ter
diferentes comportamentos. Acompanhe o exemplo da figura abaixo, onde
identificamos uma herana: Pagamento em Dinheiro, Pagamento em CC (Carto de
crdito) e Pagamento em Cheque herdam da classe Pagamento, o atributo o
mtodo Pagar_Conta (Valor: double, troco: double). Observe que em cada classe
filha (Pagamento em Dinheiro, Pagamento em carto e pagamento em Cheque)
escreve novamente o mtodo Pagar, com as respectivas particularidades
necessrias a cada forma de pagamento. Essa possibilidade ocorre pelo princpio do
polimorfismo.

Visibilidade:
Outro conceito fundamental a visibilidade entre as classes. A visibilidade diz
respeito ao que uma classe pode visualizar da outra. Como princpio, devemos
garantir o encapsulamento, ou seja, os atributos devem ser privados (acessiveis
apenas por mtodos da prpria classe) e determinados mtodos pblicos (acessveis
por todas as classes), e acessar esses dados.

Por outro lado, se mantivermos todos os mtodos como sendo privados, a classe
perde o sentido, pois nenhuma outra poder usar seus mtodos. Ento, devemos
usar a visibilidade com equilbrio e sabedoria.
Outra visibilidade possvel, alm de privada e pblica, a protegida, onde os
atributos e os mtodos somente pode ser vistos dentro da estrutura de herana, ou
seja, pelas classes filhas.

Na figura que vimos acima, o atributo Valor e o mtodo Pagar_Conta (Valor :int) da
classe Pagamento, somente podem ser acessados pelas classes Pagamento em
Dinheiro, Pagamento Cartao e Pagamento Cheque.

You might also like