Professional Documents
Culture Documents
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:
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.