1
resposta

Eu me perdi total nesse ultimo capitulo

Onde era pra provar que COMPOSIÇÃO é uma opção quando SÓ quer REUTILIZAR codigo eu achei que ele mais copia e cola

Eu até entendo o que o Nico tenta fazer diversas vezes, mas a didatica dele É MUITO confusa. A gente tem que ficar fazendo e desfazendo tudo... a parte mais teorica com desenhos e tal ajuda bastante como o Paulo estava fazendo.

Enfim, não achei que nada foi reutilizado e nem senti a necessidade de todo esse role para PROVAR que COMPOSIÇÃO é SOMENTE para REUTILIZAÇÃO ja que ele LITERAMENTE copiou e colou o MESMO codigo nas demais classes...

Já tem mil cursos de JAVA aqui e tal...sei que é mais complicado, mas poxa...

Talvez meu problema esteja mesmo na didatica + conteudo dificil.

É isso, ele claramente SABE MUITO e eu como não sei nada acabo me perdendo nesse vai e vem

1 resposta

Java é muito complicado mesmo, cheio de regras. O que eu entendo de composição é que basicamente você cria uma classe para integrar ela em outra, por exemplo, você tem uma classe Pessoa e quer colocar endereço para ela, você cria uma classe Endereco e depois você diz que a classe Pessoa tem uma Classe Endereco e com isso você consegue reutilizar essa classe Endereco para outras coisas também. Aqui estou utilizando composição, pois posso reutilizar a classe Endereco tanto para Pessoas como também posso criar uma classe Comercial para criar uma empresa e nela eu reutilizar a classe Endereco.

//Utilizando Endereco aqui
public class Pessoa {
    String nome;
    String idade;
    Endereco endereco;

}

//Utilizando Endereco aqui
class Empresa {
    String cnpj;
    Endereco endereco;
}

class Endereco{
    String nomeRua;
    String numeroCasa;
    String cidade;
    String estado;
}

Digamos que eu colocasse dessa forma abaixo, se eu quisesse criar uma classe Empresa e ter um endereço, eu teria que refazer os mesmo atributos que a classe Pessoa tem.

public class Pessoa{
    String nome;
    String idade;
    String nomeRua;
    String numeroCasa;
    String cidade;
    String estado;
}

public class Empresa{
    String cnpj;
    String nomeRua;
    String numeroCasa;
    String cidade;
    String estado;
}

Assim, se eu quisesse utilizar a classe Endereco para outras coisas que contém um endereço eu iria só chamando essa classe, assim economizando em código.