Boa tarde galera. Tive um trabalho hoje, e percebi que tenho muita dificuldade no quesito REFERENCIA em java. No trabalho vinha estas linhas de codigo prontas, e eu deveria implementar…
MeuForum forum = new MeuForum();
Usuario u1 = forum.insereUsuario(“Programador1”);
Ate entao eu entendo que eu deveria criar 2 classes: MeuForum e Usuario.
Mas nao entendo o objeto(u1) da classe Usuario recebendo o metodo da classe MeuForum.
Como isso funciona?
Qual atributo do objeto(u1) está recebendo “forum.insereUsuario(“Programador1”);”??
Normalmente eu vejo as pessoas criando INSTANCIAS pra acessar os atributos … usando o NEW… e depois acessando ex: u1.(atributo)
mas sem usar NEW, nao consegui entender… quem puder dar uma ajuda agradeco!
O método insereUsuario da classe MeuForum retorna uma instância de Usuario.
Imagine que sua classe Usuario tenha uma propriedade name:
public class Usuario {
private String name;
public Usuario(final String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
E sua classe MeuForum tenha uma lista de usuários e um método para incluir novos usuários ao fórum:
public class MeuForum {
private List<Usuario> usuarios;
public MeuForum() {
this.usuarios = new ArrayList<>();
}
public Usuario insereUsuario(final String userName) {
final Usuario usuario = new Usuario(userName);
usuarios.add(usuario);
return usuario;
}
}
A cada chamada que você faz do método insereUsuario ele cria uma nova instância de usuário, adiciona na lista de usuários do fórum e devolve a referência para o usuário criado.