Ir ao conteúdo

Posts recomendados

Postado

Olá, todo mundo.

 

Eu criei uma classe ContaCorrente com atributos, métodos e um construtor;

criei outra classe Cliente com atributos, mas preciso alterar a classe ContaCorrente para incorporar os dados do cliente, não tenho ideia de como posso fazer isso.

 

public class ContaCorrente {
	
	//atributos
	int numero;
	String nome;
	double saldo;
	Date data;
	
	//métodos
	public void Depositar(double valorDeposito) { 
		saldo += valorDeposito;
	}
	
	public boolean Sacar(double valorSaque) { 
		if ((saldo >= valorSaque)) { //caso esteja negativado não vai conseguir sacar
			saldo = saldo - valorSaque;
			return true;
		} 
			return false;
	}
	
	public void ExibirExtrato() { 
		System.out.println("R$ " + saldo);
	}
	
	public void Transferir(double valorTransferencia) { 
		if ((saldo >= valorTransferencia)) {
			saldo = saldo - valorTransferencia;
		}
		System.out.println("Saldo insuficiente!");
		
	}

	public ContaCorrente(int numero, String nome, double saldo, Date data) {
		super();
		this.numero = numero;
		this.nome = nome;
		this.saldo = saldo;
		this.data = data;
	}

	ContaCorrente() {}
	
}

 

public class Cliente {

	//atributos
	String nome;
	int cpf;
	String sobrenome;
	
	public static void main (String[] args) {
		
		ContaCorrente cliente1 = new ContaCorrente();
		cliente1.nome = "John Doe";
		cliente1.numero = 5;
		cliente1.saldo = 9.875;
	}
	
}

 

Postado
20 minutos atrás, Gabriella Oliveira disse:

mas preciso alterar a classe ContaCorrente para incorporar os dados do cliente, não tenho ideia de como posso fazer isso.

Poderia ser mais especifico com incorporar os dados do cliente? 

 

Se for o que entendi basta usar public <Variável> <nome>

poderá alterar e ter acesso usando classe.nome por exemplo...

 

public class conta(){
    public String name;
    public int value;
    public conta(){}
    public conta(String n, int value){
        this.name = n;
        this.value = value;
    }
}

public class qualquer(){
    //Opção 1 de setar atributos
    conta Cliente = new conta()
    conta.name = "Sabonete";
    conta.value = 0;
    //Opção 2 de setar atributos
    conta Cliente2 = new conta("Sabonete", 0);
    //print(Cliente2.name) (Basta escolher o que quer usar assim)
}

 

Postado

Algo assim deve resolver:

public class Cliente {

    public String nome;
    public String cpf;

    public Cliente(String nome, String cpf) {
        this.nome = nome;
        this.cpf = cpf;
    }
}

 

import java.time.LocalDate;

public class ContaCorrente {

    public Cliente proprietario;

    public LocalDate abertura;
    public double    saldo;

    public ContaCorrente(Cliente proprietario, double saldo) {
        this.proprietario = proprietario;

        this.abertura = LocalDate.now();
        this.saldo = saldo;
    }

    public String getNomeProprietario() {
        return proprietario.nome;
    }
}

 

Algumas observações:

  • Declarei os atributos com o modificador public apenas para deixar o código menor. Prefira usar o modificador private.
  • No método getNomeProprietario() da classe ContaCorrente, eu retornei o atributo do objeto da classe Cliente, mas poderia ter chamado um método ao invés.
Postado
Citação

preciso alterar a classe ContaCorrente para incorporar os dados do cliente, não tenho ideia de como posso fazer isso.

 

 

1- crie getters e setters para os atributos da classe ContaCorrente. Exemplo:

public int getNumero() { 
  return numero; 
} 

public void setNumero(int numero) { 
  this.numero = numero; 
} 

 

 

2(?)- Não sei se é exatamente isso quando diz "alterar a classe ContaCorrente para incorporar os dados do cliente", mas caso seja, faça com que a classe ContaCorrente "estenda" a classe Cliente. Exemplo:

public class ContaCorrente extends Cliente {

// etc...

}

e daí então aplique o que deseja fazer. Caso não seja, então pule pra explicação número 3.

 

 

3- Após ter instanciado um objeto da classe ContaCorrente dentro de Cliente como você fez, porém se você quiser criar o objeto de forma que ele receba os parâmetros. Então o certo seria: 

ContaCorrente cliente1 = new ContaCorrente(numero, nome, saldo, data);

 

 

4- Aí então, ainda na classe Cliente, basta atribuir às variáveis que você já declarou na classe ContaCorrente, os respectivos métodos get ou set mencionados anteriormente. Exemplo de set:

nome = "John Doe";
cliente1.setNome(nome);

 

 

5- Remova isso "public static void main (String[] args) {}" da classe Cliente antes de setar os valores ou então, caso a classe Cliente seja sua classe principal, coloque os atributos da classe Cliente dentro desse método main e não fora como você fez.

 

6- Por questão de convenção da linguagem sugiro colocar os 2 construtores da classe ContaCorrente antes dos métodos e depois das variáveis e não por último de tudo como está no seu código.

Obs: Se não era isso, então explique em mais detalhes o que você quer.

Postado

@Felipecfk  Oi, Felipe!

Na verdade eu preciso fazer um acoplamento entre o Cliente e a ContaCorrente.

public class ContaCorrente {
	
		int numero;
		Cliente cliente;
		double saldo;
		Date data;
		
		public ContaCorrente(int numero, Cliente cliente, double saldo, Date data) {
			super();
			this.numero = numero;
			this.cliente = cliente;
			this.saldo = saldo;
			this.data = data;
		}

		ContaCorrente() {}
		
		public void Depositar(double valorDeposito) { 
			saldo += valorDeposito;
			System.out.println("Deposito realizado com sucesso!");
		}

		public boolean Sacar(double valorSaque) { 
			if ((saldo >= valorSaque)) { //caso esteja negativado não vai conseguir sacar
				saldo = saldo - valorSaque;
				return true;
			} 
				return false;
		}
		
		public void ExibirExtrato() { 
			System.out.println("R$ " + saldo);
		}
		
		public void Transferir(double valorTransferencia) { 
			if ((saldo >= valorTransferencia)) {
				saldo = saldo - valorTransferencia;
			}
			System.out.println("Saldo insuficiente!");
			
		}
}

 

Esse objeto Cliente que foi inserido na classe ContaCorrente (Cliente cliente;) eu não sei como instanciar, sei apenas como instanciar com os tipos primitivos.

Vou precisar instanciar ele na classe Cliente, para mostrar os dados que são nome, cpf e sobrenome.

- Instanciar a conta1;
– Exibir Saldo e fazer um depósito;
– Instanciar a conta2;
– Exiba o nome do cliente da conta1;

 

Deu para entender melhor agora?

@AdrianoSiqueira  Oi, Adriano!

É exatamente assim! Eu só não sei como instanciar o proprietario para retornar os dados dele.

Postado

Seria mais ou menos assim:

public class ContaTest {

    public static void main(String[] args) {
        Cliente proprietaria = new Cliente("Gabriella", "123.123.123/12");

        ContaCorrente conta = new ContaCorrente(proprietaria, 0.0);
        String        nome  = conta.getNomeProprietario();

        System.out.println("Proprietária: " + nome);
    }
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...