Java
Muitas pessoas ao iniciarem os estudos programação orienta-a-objeto se confundem com alguns paradigmas clássicos, ao longo desta página estarei explicando alguns paradigmas atrávez do Java.
Herança e Composição
Resumo:
Herança - A classe A é uma classe B.
Composição - A classe A tem uma classe B.
De maneira simples herança e composição seria:
Herança - "Quando uma determinada classe herda atributos de outra".
Mas o que isso que dizer a final ?
De modo simplicado, herança é "uma classes(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 atomovel, 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 automovel ? SIM - Logo pode usar Herança.
Uma casa é um automovel ? NÃO - Logo não se pode usar Herança.
Composição - "Composição acontece quando uma classes está contida em outra".
Exemplo de Composição |
De maneira simples a composição é bem mais simples de enteder 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 usar a composição.
Um Automovel tem carroAntigo ? - NÂO - Logo não se usa a composição
Um Automovel tem porta ? - SIM - Logo pode se usar a composição.