Cap 6 Caelum get, set e construtores

11 respostas
Renan_Amaro

Tenho uma dúvida como eu faço para modificar os atributos da classe cliente na classe main eu fiz esse código

class Cliente {

    private String nome;
    private String endereco;
    private String cpf;
    private int idade;
    
    
    public void mudaCPF(String cpf){
    	if(this.idade<=60){
    		validaCPF(cpf);
    	}
    	this.cpf = cpf;
    }
    
    private void validaCPF(String cpf){
    	//....
    }
    
       
    
}

class Conta {
		
                
       	private double saldo;
       	private double limite;
       	private Cliente dono;
       	
       	private double getSaldo(){
       		return this.saldo+this.limite;
       	}
       	
       	public void setSaldo(double saldo){
       		this.saldo = saldo;
       	}
       	
       	public Cliente getDono(){
       		return this.dono;
       	}
       	
       	public void setDono(Cliente dono){
       		this.dono = dono;
       	}
       	
}

class Teste {

    public static void main(String[] args){
    	
    	Conta c = new Conta();
    	//gostaria de saber como eu faço pra criar um cliente a partir da qui 
               //Tipo colocar o nome, endereço, idade e etc.
                    	
    	    	 
    }
    
    
}

11 Respostas

Piggley_Winks

Renan Amaro:
Tenho uma dúvida como eu faço para modificar os atributos da classe cliente na classe main eu fiz esse código

class Cliente {

    private String nome;
    private String endereco;
    private String cpf;
    private int idade;
    
    
    public void mudaCPF(String cpf){
    	if(this.idade<=60){
    		validaCPF(cpf);
    	}
    	this.cpf = cpf;
    }
    
    private void validaCPF(String cpf){
    	//....
    }
    
       
    
}

class Conta {
		
                
       	private double saldo;
       	private double limite;
       	private Cliente dono;
       	
       	private double getSaldo(){
       		return this.saldo+this.limite;
       	}
       	
       	public void setSaldo(double saldo){
       		this.saldo = saldo;
       	}
       	
       	public Cliente getDono(){
       		return this.dono;
       	}
       	
       	public void setDono(Cliente dono){
       		this.dono = dono;
       	}
       	
}

class Teste {

    public static void main(String[] args){
    	
    	Conta c = new Conta();
    	//gostaria de saber como eu faço pra criar um cliente a partir da qui 
               //Tipo colocar o nome, endereço, idade e etc.
                    	
    	    	 
    }
    
    
}

Colega,

Achei sua pergunta um tanto vã…

Mas acredito que você queira esse método aqui:

setSaldo(double saldo)

Ok?

Renan_Amaro

no caso seria isso eu tenho o

public Cliente getDono(){   
            return this.dono;   
        }   
           
        public void setDono(Cliente dono){   
            this.dono = dono;   
        }

no main pra eu acessar o eu tenho q colocar o setDono(naum sei o que eu teria q colocar aqui pra acessar os atributos da classe Cliente).
se fosse pra acessar o saldo seira assim setSaldo(2000)

Piggley_Winks

Renan Amaro:
no caso seria isso eu tenho o

public Cliente getDono(){   
            return this.dono;   
        }   
           
        public void setDono(Cliente dono){   
            this.dono = dono;   
        }

no main pra eu acessar o eu tenho q colocar o setDono(naum sei o que eu teria q colocar aqui pra acessar os atributos da classe Cliente).

Renan Amaro,

Não entendi muito bem sua pergunta ainda, mas acredito que abaixo é o que precisas:

Cliente cliente = new Cliente();

 cliente.setNome("...");
 cliente.setEndereco("...");
 cliente.setCpf("...");

E na classe Cliente, ficou foltando os get’s e set’s :wink:

Abraço.

Renan_Amaro
class A {//seria Cliente
    
    String nome;
    String sobrenome;
}


class B {//seria Conta
	
	double saldo;
	double limite;
	A cliente;    
}



class C {

    public static void main(String[] args){
    	B novo = new B();
    	novo.cliente = new A();
    	
    	//eu queria acessar desse jeito mas só que com os atributos privados como ficaria ?
    	novo.cliente.nome = "Renan";
    	
    	System.out.println(novo.cliente.nome);
    }
}

Seria exatamente isso que eu queria mas com os atributos private e usando os set e get ou naum tem jeito ?

sergiolopes

fica assim:

novo.getCliente().setNome("Renan");
Piggley_Winks

Renan Amaro:

class A {//seria Cliente
    
    String nome;
    String sobrenome;
}


class B {//seria Conta
	
	double saldo;
	double limite;
	A cliente;    
}



class C {

    public static void main(String[] args){
    	B novo = new B();
    	novo.cliente = new A();
    	
    	//eu queria acessar desse jeito mas só que com os atributos privados como ficaria ?
    	novo.cliente.nome = "Renan";
    	
    	System.out.println(novo.cliente.nome);
    }
}

Seria exatamente isso que eu queria mas com os atributos private e usando os set e get ou naum tem jeito ?

Colegal,

Claro que tem apenas crie os atributos… e crie os get’s e set’s…

Qual o problema?

Andre_Brito

Procure sobre encapsulamento que as coisas ficarão BEM mais claras pra você.

Abraço.

Renan_Amaro

essa parte que eu naum estou conseguindo fazer

B novo = new B();   
novo.cliente = new A();

Estou fazendo assim mas naum da certo

B novo = new B();   
// esse naum da certo
novo.getCliente ()= new A();
Piggley_Winks

dedejava:
Procure sobre encapsulamento que as coisas ficarão BEM mais claras pra você.

Abraço.


http://pt.wikipedia.org/wiki/Encapsulamento 8)

Piggley_Winks
Renan Amaro:
essa parte que eu naum estou conseguindo fazer
B novo = new B();   
novo.cliente = new A();
Estou fazendo assim mas naum da certo
B novo = new B();   
// esse naum da certo
novo.getCliente ()= new A();

Cara... sinceramente, acho que precisas começar olhando um pouco mais sobre OO no Java.

Ai depois parte para a jornada de relacionar os objetos.

Vejo que você está um tanto perdido.

Abraço.

sergiolopes

faça assim:

B novo = new B();   
novo.setCliente(new A());

renan, procure pesquisar mais sobre a funcao dos gets/sets e quando usar cada um (get: devolve valor, set: modifica).
e cuidado que quando se faz chamadas de metodos (por exemplo os gets/sets) nao se usa o operador = (atribuicao). ele só pode ser usado com variaveis.

Criado 5 de fevereiro de 2008
Ultima resposta 5 de fev. de 2008
Respostas 11
Participantes 4