agregaçao.. herança

9 respostas
1

[color=red]VOU MOSTRAR O QUE PRETENDO FAZER PARA SER MAIS FACIL....
Preciso trazer o argumento nome da classe CLIENTE para a Classe CONTA.
Preciso passar o argumento Nconta e Cliente da classe CONTA para a classe CONTACORRENTE
E imprimir os dados do Cliente... Depois os da Conta ... e os da ContaCorrente.
com o codigo abaixo nao esta funcionando....[/color]

public class Cliente {

    private String nome;
    private int idade;

    public String getNome() {
     return this.nome;
    }

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

    public int getIdade() {
        return idade;
    }
    public void setIdade(int idade) {
        this.idade = idade;
    }
}


public class Conta {
    private int nconta;
    private Cliente cliente;
    
    public Conta(Cliente n ){
        this.cliente=n;
       }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {  
     this.cliente.getNome();
    }
}


public class ContaCorrente extends Conta {
	private Conta Nconta;
         private Cliente Cte;
   
        
    public ContaCorrente(Cliente c){
        super(c);
         }

    public Cliente getCte() {
        return Cte;
    }

    public void setCte(Cliente c) {
        this.Cte=super.getCliente();
    }

        public int getNconta(){
        return super.getNconta();
    }

    public void setNconta(Conta n) {
        this.Nconta = n ;
    }

}


public class ContaBancaria {


    public static void main(String[] args) {

        Cliente cliente = new Cliente();
        Conta conta = new Conta(cliente);
        ContaCorrente corrente = new ContaCorrente(cliente);

        cliente.setNome("Joao Pedro da Silva");
        cliente.setIdade(23);

        conta.setNconta(123);
        conta.setCliente(cliente.getNome()); // da erro

        //preciso de um metodo em ContaCorrente que pegue da Class Conta o: Nconta e o Cliente;
        // depois chamar esse metodo no main e imprimir como abaixo:

        System.out.println("Cliente: " + cliente.getNome() + "\nIdade: " + cliente.getIdade());
        System.out.println("-------------------------------------");
        System.out.println("Numero da Conta: " + conta.getNconta() +  "\nDono da conta: "+ conta.getCliente());
        System.out.println("-------------------------------------");
        System.out.println("Conta: " + corrente.getNconta() + "\nCliente: " + corrente.Cte );

}

9 Respostas

S

refaça os métodos getters e setters da classe Conta

marcelo.silva.java

conta.setCliente(cliente.getNome()); errado

esse metodo aceita o cliente…não o nome… então o correto seria

conta.setCliente(cliente);
1

ja tentei e não consegui;

1

[quote=marcelo.silva.java] conta.setCliente(cliente.getNome()); errado

esse metodo aceita o cliente…não o nome… então o correto seria

conta.setCliente(cliente);

Mas ai eu pegaria todas as informações do Cliente
e eu quero apenas o Nome…

marcelo.silva.java

cara vamos lá

vc tem uma classe Conta que tem um cliente…

vc tem que setar o cliente nessa conta…

pra pegar vc pode pegar tudo que vc quiser…

cliente.getNome();//exemplo

mas vc tem que setar o cliente na conta…

set - seta valor
get- pega o valor

falow

1

marcelo.silva.java:
cara vamos lá

vc tem uma classe Conta que tem um cliente…

vc tem que setar o cliente nessa conta…

pra pegar vc pode pegar tudo que vc quiser…

cliente.getNome();//exemplo

mas vc tem que setar o cliente na conta…

set - seta valor
get- pega o valor

falow

Certo mas e depois como eu passo esse mesmo nome que foi passado para a conta para a conta Corrente?

S

Vc já tem uma classe Cliente dentro de ContaCorrente, não há necessidade de ter Cliente tb dentro da classe Conta.

CLIENTE
Nome
Idade

CONTA
numero

CONTACORRENTE
Cliente
Conta

Com a classe ContaCorrente vc irá ter como realizar no seu main contaCorrente.getCliente().getNome() e tb contaCorrente.getConta().getNumero()

sergio7888
Veja o seguinte codigo e compare com o seu
public class Cliente {

    private String nome;
    private int idade;

    public String getNome() {
        return this.nome;
    }

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

    public int getIdade() {
        return idade;
    }
    public void setIdade(int idade) {
        this.idade = idade;
    }
}


public class Conta {
    private int nconta;
    private Cliente cliente;
    
    public Conta(Cliente n ){
        this.cliente=n;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {  
        this.cliente=cliente;
    }
    
 public int getNconta() {
        return nconta;
    }

    public void setCliente(int nconta) {  
        this.nconta=nconta;
    }
}


public class ContaCorrente extends Conta {
    public ContaCorrente(Conta c){
        super(c.getCliente());
        setNconta(c.getNconta());
    }
}


public class ContaBancaria {


    public static void main(String[] args) {

        Cliente cliente = new Cliente();
        cliente.setNome("Joao Pedro da Silva");
        cliente.setIdade(23);

        Conta conta = new Conta(cliente);
        conta.setNconta(123);

        ContaCorrente corrente = new ContaCorrente(conta);

        System.out.println("Cliente: " + cliente.getNome() + "\nIdade: " + cliente.getIdade());
        System.out.println("-------------------------------------");
        System.out.println("Numero da Conta: " + conta.getNconta() +  "\nDono da conta: "+ conta.getCliente().getNome());
        System.out.println("-------------------------------------");
        System.out.println("Conta: " + corrente.getNconta() + "\nCliente: " + corrente.getCliente().getNome());

}
1
sergio7888:
Veja o seguinte codigo e compare com o seu
....

Sergio fazendo algumas modificações no seu eu conseguir imprimir o nome na Conta e na ContaCorrente
Agora falta imprimir o numero na contaCorrente;
Olha como ficou...

public class Cliente {  
  
    private String nome;  
    private int idade;  
  
    public String getNome() {  
     return this.nome;  
    }  
  
    public void setNome(String nome) {  
        this.nome = nome;  
    }  
  
    public int getIdade() {  
        return idade;  
    }  
    public void setIdade(int idade) {  
        this.idade = idade;  
    }  
}  

public class Conta {  
    private int nconta;  
    private Cliente cliente;  
      
    public Conta(Cliente n ){  
        this.cliente=n;  
       }  
  
    public Cliente getCliente() {  
        return cliente;  
    }  
  
    public void setCliente(Cliente cliente) {    
     this.cliente.getNome();  
    }  

    public int getNconta() {
        return nconta;
    }

    public void setNconta(int nconta) {
        this.nconta = nconta;
    }

}  

public class ContaCorrente extends Conta {  
    private int Nconta;  
         private Cliente Cte;  
     
          
    public ContaCorrente(Cliente c){  
        super(c);  
         }  
  
    public Cliente getCte() {  
        return Cte;  
    }  
  
    public void setCte(Cliente c) {  
        this.Cte=super.getCliente();  
    }  
  
        public int getNconta(){  
        return super.getNconta();  
    }  
  
    public void setNconta(Conta n) {  
        super.getNconta();
    }  
  
} 

public class ContaBancaria {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Cliente cliente = new Cliente();  
        cliente.setNome("Joao Pedro da Silva");  
        cliente.setIdade(23);  
  
        Conta conta = new Conta(cliente);  
        conta.setNconta(123);  
  
        ContaCorrente corrente = new ContaCorrente(cliente);  
  
        System.out.println("Cliente: " + cliente.getNome() + "\nIdade: " + cliente.getIdade());  
        System.out.println("-------------------------------------");  
        System.out.println("Numero da Conta: " + conta.getNconta() +  "\nDono da conta: "+ conta.getCliente().getNome());  
        System.out.println("-------------------------------------");  
        System.out.println("Conta: " + corrente.getNconta() + "\nCliente: " + corrente.getCliente().getNome());  
  
} 
}

Veja como ficou a tela:

Cliente: Joao Pedro da Silva
Idade: 23
-------------------------------------
Numero da Conta: 123
Dono da conta: Joao Pedro da Silva
-------------------------------------
Conta: 0
Cliente: Joao Pedro da Silva

Criado 8 de abril de 2013
Ultima resposta 8 de abr. de 2013
Respostas 9
Participantes 4