Como fazer método receber um objeto como parâmetro?
18/06/2017
0
Na classe Pokemon, existem os atributos privados Hp, Atk e Def bem como seus métodos getters e setters.
Na classe Lista, criei 3 objetos da classe Pokemon e usei o método set para colocar os valores de Hp, de Atk e de Def aos três objetos.
A classe Escolha possui o método estático escolher(Pokemon pokemon), que recebe um objeto Pokemon como parâmetro:
public static void escolher (Pokemon pokemon){ pokemon.getHp(); pokemon.getAtk(); pokemon.getDef(); }
Mas, na classe Teste eu chamei o método estático escolher() e precisava passar como parâmetro a ele um daqueles 3 objetos já instanciados na classe Lista para utilizar seus Hp, Atk e Def. Como faço isso?
Gabriel
Posts
19/06/2017
Joel Rodrigues
Outra coisa, note que no corpo do seu método escolher você simplesmente chama os gets do objeto. Repare que isso não tem nenhum efeito, pois esses métodos retornam os valores dos atributos, mas você não está fazendo nada com eles.
Abraço.
19/06/2017
Gabriel
Então, o código da minha classe Lista seria o seguinte
public class Lista { public static void main(String[] args) { Pokemon bulbasaur = new Pokemon(); bulbasaur.setHp(45); bulbasaur.setAtk(49); bulbasaur.setDef(49); Pokemon charmander = new Pokemon(); charmander.setHp(39); charmander.setAtk(52); charmander.setDef(43); Pokemon squirtle = new Pokemon(); squirtle.setHp(44); squirtle.setAtk(48); squirtle.setDef(65); } }
O que eu gostaria de fazer era pegar por exemplo o objeto bulbasaur que está na classe Lista e passa-lo como parâmetro para o método escolher, simplificando acho que seria como compartilhar o mesmo objeto com mais de uma classe.
09/08/2017
Clayton Silva
Basta vc chamar o método, passando o objeto que deseja:
escolher(bulbasaur);
ou
escolher(charmander);
ou
escolher(squirtle);
É isso mesmo?
E dentro do método escolher, vc pode usar os atributos desse objeto, por exemplo, exibindo eles:
public static void escolher (Pokemon pokemon){ System.out.println("Hp: " + pokemon.getHp()); System.out.println("Atk: " + pokemon.getAtk()); System.out.println("Def: " + pokemon.getDef()); }
Clique aqui para fazer login e interagir na Comunidade :)