Pessoal sempre tive esta dúvida sobre OO, será que alguem pode me ajudar por favor?
Vamos la:
Irei colocar o código , mas gostaria de saber como é que funcionar esta passagem por parametro.O java sempre faz uma cópia da referência certo?
//Classe ContapublicvoidtransferenciaDeValores(Contadeposito,doublequantidade){// retirada do saldo do objeto atualthis.saldo=this.saldo-quantidade;deposito.saldo=deposito.saldo+quantidade;System.out.println();System.out.println(this.saldo);System.out.println(deposito.saldo);}//ClasseMainpackageclasses;publicclassClassePrincipal{publicstaticvoidmain(String[]args){c1.transferenciaDeValores(c2,10);}}
Sinceramente eu fiz, mas não sei como funciona esta passagem do valor pegando a referencia do objeto Conta;
Quando eu passo a referencia do objeto c2 por parametro ele irá referenciar qual objeto? C1?
Quando o método acabar a referência volta para o objeto t2 ou fica em t1? Nao entendi esta passagem!
Sei que caso eu faça c1==c2 eles iram pegar a mesma referência do objeto , certo? Como diabos funciona esta passagem entao… huahua
abraços pessoal e muito obrigado por toda a ajuda que voces sempre me dam.
1- quando eu crio um tipo de variavel do tipo classe, ele apenas servira para isto, ou seja, apenas para criar um objeto certo!
2- Sinceramente so sei usar o tipo de variavel do tipo classe quando vo criar um objeto , tirando isto eu me perco ai.
Se puderem me ajuda eu agradeço e muito… Abraços!
B
Bruno_Laturner
thiagolopes:
Irei colocar o código , mas gostaria de saber como é que funcionar esta passagem por parametro.O java sempre faz uma cópia da referência certo?
Não, Java só trabalha com passagem de parâmetros por valores.
thiagolopes:
Sinceramente eu fiz, mas não sei como funciona esta passagem do valor pegando a referencia do objeto Conta;
Você está passando a cópia do valor contido em c2. Este valor é uma referência para o objeto.
thiagolopes:
Quando eu passo a referencia do objeto c2 por parametro ele irá referenciar qual objeto? C1?
depósito referenciará o valor passado por parâmetro, no caso c2.
thiagolopes:
Quando o método acabar a referência volta para o objeto t2 ou fica em t1? Nao entendi esta passagem!
Quando um método acaba, ele volta para quem o chamou, neste caso para o método main.
thiagolopes:
Sei que caso eu faça c1==c2 eles iram pegar a mesma referência do objeto , certo? Como diabos funciona esta passagem entao… huahua
abraços pessoal e muito obrigado por toda a ajuda que voces sempre me dam.
c1 == c2 compara o valor de duas variáveis. Se os valores são referências, ele compara referências.
Para atribuir c1 a c2 use c1 = c2;
B
Bruno_Laturner
thiagolopes:
Outra dúvida é :
1- quando eu crio um tipo de variavel do tipo classe, ele apenas servira para isto, ou seja, apenas para criar um objeto certo!
Variáveis de objetos servem para guardar referências para o objeto. Para criar o objeto use o operador new.
thiagolopes:
2- Sinceramente so sei usar o tipo de variavel do tipo classe quando vo criar um objeto , tirando isto eu me perco ai.
Não tem nada de especial.
Cachorro dog = new Cachorro(); // cria um cachorro
dog.latir(); // chama o método latir de cachorro
dog.pular(3); // chama o método pular passando 3 como argumento
String s = dog.getNome(); // chama o método getNome de cachorro, que retorna uma String, e atribui o valor retornado a s
Não precisa aprender mais que isto.
thiagolopes
Hum… interessante! Obrigado por tirar minha dúvida, sempre tive ela , mas ficava com um pouco de receio de perguntar visto que é o básico de OO.