Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Composição

Gostaria de obter mais informações sobre composição. A Alura ou a Caelum não têm material sobre isso?

4 respostas

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!

soluçã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!

https://www.caelum.com.br/apostila-java-orientacao-objetos/heranca-reescrita-e-polimorfismo/#7-5-um-outro-exemplo

Eu usei essa apostila para tirar muitas dúvidas, acredito que possa ser útil pra você!