Gostaria de obter mais informações sobre composição. A Alura ou a Caelum não têm material sobre isso?
Gostaria de obter mais informações sobre composição. A Alura ou a Caelum não têm material sobre isso?
Oi Adriano, tudo bom?
Dá uma olhadinha no curso de Boas Práticas em Java que comentamos mais um pouco sobre a questão Herança vs Composição: https://cursos.alura.com.br/course/orientacao-objetos-java
Abraço!
Oi Adriano, no link que @joviane colocou você vai encontrar o curso cujo um dos tópicos é exatamente isso. Para adiantar, pense na seguinte situação:
class Pessoa {
private String nome;
private String email;
//getters e setters
}
class PessoaFisica extends Pessoa {
//atributos da pessoa fisica
}
class PessoaJuridica extends Pessoa {
//atributos da pessoa juridica
}
Aqui vc herda de pessoa só para pegar os métodos que já existem na classe Pessoa. Em vez disso, vc pode ter algo assim:
class Dados {
private String nome;
private String email;
//getters e setters
}
class PessoaFisica {
private Dados dados = new Dados();
//atributos da pessoa fisica
}
class PessoaJuridica {
private Dados dados = new Dados();
//atributos da pessoa juridica
}
Aí, se realmente você tiver algum método que se comporta de um jeito na pf e de outro na pj, vc extrai uma interface, por exemplo.
Muito obrigado pelos esclarecimentos! Aos poucos estes conceitos vão se firmando na mente!
Eu usei essa apostila para tirar muitas dúvidas, acredito que possa ser útil pra você!