[RESOLVIDO] [Dúvida] Sum of absolute difference

8 respostas
KamillaaaH

É o seguinte, preciso implementar um métoro que faça a SAD, que é a subtração e o retorno do resultado em módulo… Tenho um exemplo aqui disso feito com inteiros, preciso fazer com arrays…
O que acontece é que eu não entendo passagens do código como int intsubtrai([color=red]Inteiro oi[/color]). O que faz aí esse “Inteiro oi”? =S
E logo depois são criados dois objetos, sendo que o “o1” é usado para invocar o método e o “o2” é passado como parâmetro para o método… =S
Entendi mais nada… haha!
Alguém?

Obrigada!

package block;

public class Inteiro {
	int i;
	
	Inteiro(int x){
		i=x;
	}
	
	int intsubtrai(Inteiro oi){
		return i - oi.i;
	}
	
	public static void main (String[] args){
		Inteiro o1 = new Inteiro(7), o2 = new Inteiro(5);
		
		System.out.println("7 - 5 = " +o1.intsubtrai(o2));
	}
}

8 Respostas

viniciusfaleiro

Pelo que entendi o que essa classe faz é que ela tem a capacidade de subtrair um valor inteiro de outra instancia dessa mesma classe, ou seja, Um objeto dessa classe com valor inteiro setado para 10 e outro objeto dessa classe com valor inteiro setado para 20… se vc chama o metodo de subtrair do segundo objeto e passa como parametro o primeiro objeto (e não um inteiro, pq ele vai buscar o valor inteiro do objeto) ele vai fazer 20 - 10 e retornar esse valor… Não tem nada de mais ai… sei lá se eh soh isso mesmo

KamillaaaH

E o “oi”? =S

viniciusfaleiro

O oi na verdade é só o nome do parametro que o método vai receber… pode ser qualquer outro nome… ele apenas identifica que um objeto “Inteiro” será passado para o método e que o identificador dele será oi… experimenta trocar o oi por qualquer outra coisa… (na assinatura do método e dentro do método tbm)

KamillaaaH

Mas o argumento com o nome da classe… (Inteiro oi)… Como isso se chama? Qual a operação? É algo especial?

viniciusfaleiro

Isso se chama parametro de método… na verdade o que acho q está confundindo vc é o fato de a classe pedir como parametro do método uma objeto da mesma classe que ela!!! Não é isso???

Tipo… eu tenhu um objeto t1 do tipo Inteiro que pede outro objeto do tipo Inteiro tbm para fazer a operação…!!

viniciusfaleiro

Apenas lembrando… no parametro do método vc pode pedir que seja passado tanto tipos primitivos (int, boolean, etc) como Objetos (no seu caso Inteiro)

viniciusfaleiro

procure ler mais sobre OO. No site da Caelum tem umas apostilas ótimas.

KamillaaaH

Certo, vou tentar!
Obrigada! =D

Criado 22 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 8
Participantes 2