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

Aula 6 Exercício 3

public class Jogo {
    //Código omitido
    private Componente comp;
    public Jogo(Usuario usuario){
       this.comp = usuario;
    }
}

No código acima:
A linha :   " private Componente comp;" aponta para o objeto Componente?

A linha:   "public Jogo(Usuario usuario){" significa o quê?
3 respostas

Olá Mario, tudo bem com você?

  1. Isso mesmo, se você instanciar uma classe Jogo, o atributo comp deve guardar uma referência para um objeto do tipo Componente.

  2. Isso é o que chamamos de construtor. Basicamente, ele se comporta como um "método especial" que é chamado sempre que instanciarmos um novo objeto. Nesse caso, se escrevermos new Jogo, então public Jogo(Usuario usuario) será chamado durante a criação do objeto. A linha this.comp = usuario; está armazenando o usuário que recebemos como argumento no construtor public Jogo(Usuario usuario) no atributo comp. Ou seja, ao instanciarmos uma nova classe Jogo, precisamos passar um objeto do tipo Usuario como argumento para que ele possa ser guardado dentro de Componente comp. Importante lembrar que para que isso funcione, Usuario precisa herdar de Componente (assunto que será visto no próximo curso da formação).

Espero que isso tenha ajudado, tem coisas aí que para que façam sentido, é preciso assistir o próximo curso, mas basicamente é isso que acontece no código que você mandou! :)

Qualquer dúvida é só avisar. Forte abraço e bons estudos!!

solução!

Ok Thiago obrigado. Já estou vendo herança.

Uma última coisa, a questão faz referência a uma outra questão (jogo Luan), mas a tal questão só aparece posteriormente. A formulação da questão é colocada como se já tivéssemos passado por aquela questão.

Opa Mario, bem observado. Eu imagino que quando o pessoal montou a estrutura do curso, eles imaginaram que a ordem dos conteúdos seria diferente... Valeu por avisar, vou passar para o pessoal dar uma olhada! ;)