Muito para Muitos: Métodos Add e Remove

2 respostas Resolvido
Felipe_Oliveira1

Continuando a discussão do Muito para muitos:

Estou com a mesma dúvida do autor desse tópico, porém eu quero saber como ficará os métodos Add e Remove das classes pois estou aprendendo desse jeito na facul.

Exemplo:

package dominio;

import java.util.ArrayList;

public class Cliente {

private String rg, nome, telefone, endereco;

private ArrayList listaCompras;
public Cliente(String rg, String nome, String telefone, String endereco) {
	this.rg = rg;
	this.nome = nome;
	this.telefone = telefone;
	this.endereco = endereco;
	listaCompras = new ArrayList<Compra>();
}

public String getRg() {
	return rg;
}

public void setRg(String rg) {
	this.rg = rg;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getTelefone() {
	return telefone;
}

public void setTelefone(String telefone) {
	this.telefone = telefone;
}

public String getEndereco() {
	return endereco;
}

public void setEndereco(String endereco) {
	this.endereco = endereco;
}

public void addCompra(Compra novaCompra) {
	if (listaCompras.contains(novaCompra))
		return;
	else {
		listaCompras.add(novaCompra);
		novaCompra.setCliente(this); // **Como vai ficar essa parte no N para N?**
	}
}

public void removeCompra(Compra exCompra) {
	if (!listaCompras.contains(exCompra))
		return;
	else {
		listaCompras.remove(exCompra);
		exCompra.setCliente (null); // ** Como vai ficar essa parte no N para N?**
	}
}

}

Gostaria de saber como ficaria a parte aonde ele pede para o objeto antigo deixar de referenciar o this.

2 Respostas

staroski
Solucao aceita

Adicionando o this à lista de clientes:

novaCompra.getClientes().add(this);

Parecido com a primeira, só que ao invés de adicionar, vai remover:

exCompra.getClientes().remove(this);

Felipe_Oliveira1

Obrigado, funcionou.

Criado 22 de outubro de 2017
Ultima resposta 1 de nov. de 2017
Respostas 2
Participantes 2