O que significa atribuir uma classe ? (como atributo)

4 respostas
D

o que significa essa parte do código ?

class Cliente{
String nome;
String sobrenome;
String cpf;
}

class Conta{
int numero;
double saldo;
Cliente titular; // >>>essa parte aqui, o que significa ? como posso usar esse titular ?
}

4 Respostas

Jhonny_Oliveira

Uma forma de utilizar esse atributo seria o seguinte:

class Conta{ 
 
	int numero;  
	double saldo;  
	Cliente titular;
	
	
	public void setTitular(Cliente titular) {
		this.titular = titular;
	}
}
drsmachado

Assim

class Conta{   
int numero;   
double saldo;   
Cliente titular;
public Titular criaTitular(){
 titular = new Titular();

 titular.nome = "Ariosvaldo";
 titular.sobrenome = "Eleotério Rodrastiftwxcz";
 titular.cpf = "[telefone removido]";

 return titular;
}

public void escreveTitular(){
 System.out.println("Nome " + titular.nome);
 System.out.println("Sobrenome " + titular.sobrenome);
 System.out.println("CPF " + titular.cpf);
}
discorpio

Boa noite a todos.

Atribuir uma classe como atributo é tão simplesmente declarar uma instância dela dentro de outra classe, como um atributo da outra classe, como você pode perceber pelas dicas dos nossos amigos, o atributo “titular” e um atributo do tipo de Classe Cliente, onde você ao encapsular com os métodos getter voce pode apanhar dentro do Objeto Conta um objeto Cliente populado, bem como com o setter popular o Cliente dentro de Conta. Este recurso também é chamado de “Composição de Classes”.

class Conta {
       
        int numero;
        double saldo;
        Cliente titular;

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

        public double getSaldo() {
            return saldo;
        }
        public void setSaldo(double saldo) {
            this.saldo = saldo;
        }

        /* Assim é melhor do que o método criarTitular,
           pois voce só fará referência a um único objeto
           cliente e evita o NullPointer  */
        public Cliente getTitular() {
            if (titular == null) titular = new Cliente();
            return titular;
        }
 }

Na hora de instanciar um objeto Conta você poderá usar assim:

Conta conta = new Conta();
     conta.setNumero(3939393);
     conta.setSaldo(34562456.89);
     // Usando o Cliente direto de conta sem o NullPointer
     conta.getCliente().setNome("Davidson");
     conta.getCliente().setEndereco(........);
     .......

Um abraço.

discorpio

Olá, sou eu de novo, para fazer uma pequena correção.

// Troque a sintaxe abaixo:
   conta.getCliente().setNome("Davidson");  
   conta.getCliente().setEndereco(........);

   // Pela sintaxe:
   conta.getTitular().setNome("Davidson");  
   conta.getTitular().setEndereco(........);

Fui…

Criado 16 de dezembro de 2011
Ultima resposta 16 de dez. de 2011
Respostas 4
Participantes 4