Você está na página 1de 3

Abstrao, Encapsulamento, Herana e Polimorfismo; .

Abstrao
Os objetos armazenam dados e possuem interface definida que determina o seu comportamento.

. Encapsulamento
a caracterstica do objeto de esconder seus dados e suas operaes dos outros objetos. As operaes e os dados so encapsulados em um mdulo chamado classe que pode ser visto como um pattern para criar objetos (instanciao). O usurio no se preocupa com a implementao dos mtodos, mas apenas com a interface da classe, alcanando um alto grau de desacoplamento, uma vez que possvel alterar a implementao de um mtodo sem alterar a interface. Segundo Edward Bernard: "Abstrao e encapsulamento so definies distintas, porm esto fortemente relacionadas. Abstrao uma tcnica que ajuda a identificar quais informaes devem ser visveis e quais no devem ser. Encapsulamento a tcnica para encapsular a informao de modo a esconder o que deve ser escondido e fazer visvel o que deve ser visvel."

. Herana e Polimorfismo
Herana um mecanismo importante quando um grupo de classes apresenta a mesma interface, mas a implementao interna dos mtodos diferente. Polimorfismo uma caracterstica em orientao a objetos que usa a hierarquia de objetos.

. Comentrios
O paper deixa muito a desejar na apresentao de Herana e Polimorfismo, possibilitando um entendimento errado para um leitor mais desatento. Portanto, tentouse abordar os dois conceitos mais profundamente, embora de maneira rpida. Herana um mecanismo que ajuda definir relaes de subtipo e reusar cdigo. Contudo herana e subtipo so mecanismos distintos e devem ter construtores diferentes nas linguagens de programao. Herana um conceito muito poderoso, uma vez que possibilita que os desenvolvedores maximizem o uso dos mtodos (comportamento) e dos dados (estrutura) dos objetos existentes. Pode-se entender herana, sob a tica de linguagem de programao orientada a objetos, como sendo um mecanismo para construir classes a partir de classes existentes.

O mecanismo de herana pode ser classificado de trs maneiras independentes: Esttico ou Dinmico; Implcito ou Explcito; por Objeto ou por Grupo. A maioria das linguagens que utilizam o paradigma de orientao a objetos so: i) estticas (a herana estabelecida em tempo de compilao); ii) implcitas (o comportamento de um objeto depende da sua classe, que no pode ser alterada) e iii) por grupo (as caractersticas de herana so especificadas para uma classe, no para objetos especficos). Existem dois tipos de herana por grupo:

Simples: quando h uma relao de hierarquia de uma ou mais classes com apenas um outra classe seja, uma ou mais classes (subclasses) herdam atributos e/ou operaes de uma nica classe (super clas

Mltipla: quando h uma relao de hierarquia de uma classe com duas ou mais classes. Ou seja, classe (subclasse) herda atributos e/ou operaes de duas ou mais classes (superclasses).

A herana mltipla pode impactar em uma das caractersticas de orientao a objetos: encapsulamento e pode introduzir complexidade nas linguagens orientadas a objetos. No mundo real, existem situaes onde uma classe pode derivar de duas ou mais classes, com o uso da herana mltipla evita-se redundncia e repetio de cdigo, contudo torna-se mais difcil semanticamente entender o relacionamento entre elas. Por outro lado, a herana mltipla introduz complexidade e ambigidade que no so desejveis. A maior dificuldade ocorre quando as superclasses definem os mesmos mtodos, fazendo com que se tenha uma maneira de decidir qual mtodo deve ser herdado. Essa deciso pode ser tomada na implementao ou fazendo com que os mtodos das superclasses tenham assinatura (corresponde ao nome do mtodo e aos

tipos de cada parmetro) distinta para que todos os mtodos sejam herdados sem conflito ou, ainda, redefinindo na subclasse os mtodos que esto conflitando. A seguir apresentado um exemplo de herana simples e herana mltipla no mesmo diagrama de classes, mostrando que possvel ter os dois tipos de herana.

Polimorfismo a habilidade de diferentes objetos receberem a mesma mensagem e comportar-se de maneira diferente. Polimorfismo implica em criar uma interface pela qual sero recebidas mensagens determinando o comportamento do objeto. Operao Arquivo texto Imprimir Arquivo Arquivo de imagem Arquivo binrio Polimorfismo tambm suporta passagem de tipos diferentes de objetos como parmetro nas mensagens enviadas a outros objetos.