POO - Conceitos de herança e composição

Publicado por Robson Fernando Gomes em 04/02/2011

[ Hits: 19.854 ]

Blog: http://maguscode.blogspot.com/

 


POO - Conceitos de herança e composição



Muitas pessoas ao iniciarem os estudos em programação orienta-a-objeto se confundem com alguns paradigmas clássicos, ao longo desta página estarei explicando alguns através do Java.

Herança - "Quando uma determinada classe herda atributos de outra".

Mas o que isso que dizer a final?

De modo simplificado, herança é "uma classe (classe filha) que tem os mesmos atributos de uma outra (classe mãe), mais alguns atributos destintos".

Um bom exemplo de herança seria:

Uma classe mãe chamada Automovel e outras filhas; CarrosCorrida, CarrosAntigos e CarrosEsportivos. Ambas as classes filhas podem ser vistas como um automóvel, diferenciando umas das outras por penas por alguns atributos, mas sempre com algo em comum, as duas sempre serão um Automovel.

A pergunta básica para verificar se a relação da classe A com a classe B e uma herança é simples, basta fazer a seguinte pergunta a si mesmo:

"A classe A é uma classe B."

Exemplo:

Um carro antigo é um automóvel? SIM - Logo pode usar Herança.
Uma casa é um automóvel? NÃO - Logo não se pode usar Herança.

Composição - "Composição acontece quando uma classe está contida em outra".

A composição é bem mais simples de entender que a herança, na composição sempre se usa a seguinte pergunta:

A classe A está tem a classe B.

Exemplo:

Neste exemplo livro e autor são duas classes distintas;

Um livro tem autor? - SIM - Logo se usa a composição.
Um automóvel tem carro antigo? - NÃO - Logo não se usa a composição
Um automóvel tem porta ? - SIM - Logo pode se usar a composição.

Outras dicas deste autor

Oracle: Diferença entre JOIN interno e externo

Gerar jar no Eclipse e executar

Como listar somente os diretórios no Linux

Criando e usando arquivos de propriedades em Java

Exibir ponto em expressão regular (regex)

Leitura recomendada

Diferença entre replaceAll e replace na classe String em Java

Exibir ponto em expressão regular (regex)

NetBeans IDE - "Não foi possível localizar nem carregar a classe principal" [Resolvido]

Um problema raro, mas que pode acontecer com você usando NextLine()

Java Web Start

  

Comentários
[1] Comentário enviado por RenatoSantoss em 28/09/2011 - 12:12h

Pô isso me ajudou muito cara valeu!
Se pudesse da um exemplo de composição em código java seria melhor!
vlw.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts