Bom dia galera
Estou desenvolvendo o trabalho da disciplina e me deparei com um problema…
Tenho uma classe fornecedor que tem uma lista de telefones, só que a classe telefone é superclasse da classe ramal. Esse fornecedor pode ter na sua lista de telefones, telefones simples e telefones com ramal, elaborei dessa forma teria alguma outra solução?
public class Fornecedor extends EntidadeDominio {
List <Telefone> telefones; //esse List usa generics Telefone
List <Ramal> ramais; //esse List usa generics Ramal
List todostelefones = new ArrayList();
todostelefones.add(ramais);
todostelefones.add(telefones);
}
public class Telefone extends EntidadeDominio{
private Fornecedor fornecedor;
}
public class Ramal extends Telefone{
private String numero;
private String descrição;
}
Essa classe Fornecedor está com erro de sintaxe, pois vc tem códigos que deviam estar dentro de um método.
Sobre o problema do telefone, vc pode fazer assim:
Fornecedor
public class Fornecedor extends EntidadeDominio {
private List<Telefone> telefones = new ArrayList<>();
public void addTelefone(Telefone telefone) {
telefone.setFornecedor(this);
telefones.add(telefone);
}
}
Telefone
public class Telefone extends EntidadeDominio {
private String numero;
private Fornecedor fornecedor;
public Telefone(String numero) {
this.numero = numero;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
}
Ramal
public class Ramal extends Telefone {
private String descricao;
public Ramal(String numero, String descricao) {
super(numero);
this.descricao = descricao;
}
}
Main
public static void main(String[] args) {
var fornecedor = new Fornecedor();
var ramal = new Ramal("1234", "Escritório");
fornecedor.addTelefone(ramal);
}
OBS.: Talvez vc ache estranho, mas o uso do var no main é pq o código foi feito com a JDK11
1 curtida
foi mal esqueci de mencionar que a classe Telefone tem DDI, DDD e numero, o numero da classe ramal se refere ao número do ramal… por exemplo… Telefone: +55 11 1234-5678 ramal 123 Vendedor Lucas.
Certo. De qualquer forma, o exemplo que fiz, deve resolver o problema. Vc deve conseguir adaptar.