Eu tenho uma classe onde eu tenho um atributo de uma outra classe, e no caso eu to declarando um construtor onde obrigatoriamente eu tenho que passar um objeto dessa outra classe como parametro, então eu estou fazendo os apontamentos necessários. eu só queria saber se os apontamentos que eu estou fazendo estão corretos ou se há uma outra maneira mais elegante de se fazer isso ( sou iniciante ainda).
identar texto pre-formatado em 4 espaços
public class Cliente {
private String nome;
private String sobrenome;
private String cpf;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
}
identar texto pre-formatado em 4 espaços
public class Conta {
private int numero;
private double saldo;
private double limite;
private Cliente titular;
public Conta(Cliente a) {
this.titular.setNome(a.getNome());
this.titular.setCpf(a.getCpf());
this.titular.setSobrenome(a.getSobrenome());
}
public void setTitular(Cliente titular){
this.titular = titular;
}
Nada te impede de passar pelo construtor também.
public Conta(Cliente a){
this.titular = a;
}
Eu acho mais elegante usar o nome do objeto igual o da classe, fica mais facil o entendimento de quem esta olhando o código, então eu trocaria o titular por cliente;
Ah não tinha pensado nesse 1 exemplo q vc deu. no caso por exemplo, tanto no exemplo do set quanto no do construtor, quando eu digo “this.titular = titular” eu já faço esse atributo titular apontar para os atributos da classe Cliente diretamente?se sim, no caso então, o exemplo em q eu fui setando um por um fica meio repetitivo né
No código acima, esta dizendo que o seu objeto titular vai ter os dados do objeto passado como parâmetro, que no caso é o ‘a’.
Se o objeto do parâmetro tiver o nome André, o seu objeto titular vai automaticamente ter o nome André também, por que você esta falando que ‘titular’ é igual ao objeto ‘a’, logo os dois terão os mesmos nomes, cpf, sobrenome, etc.
uma última coisa só, eu apliquei aqui o exemplo q vc fez, setando o atributo ao objeto, mas aqui quando eu setei e fui printar no console o valor setado, deu null pointer exception.
identar texto pre-formatado em 4 espaços
public class Motor {
private int potencia;
private String tipo;
}
identar texto pre-formatado em 4 espaços
public class Carro {
private String cor;
private String modelo;
private double velocidadeAtual;
private double velocidadeMaxima;
private Motor motor;
public void setMotor(Motor motor) {
this.motor = motor;
}
public Motor getMotor() {
return motor;
}
identar texto pre-formatado em 4 espaços
public class TesteCarro {
public static void main(String[] args) {
Carro carro1 = new Carro();
Motor motor1 = new Motor();
motor1.setPotencia(500);
motor1.setTipo("v8");
System.out.println(carro1.getMotor().getPotencia());
System.out.println(carro1.getMotor().getTipo());