Pessoal, boa noite!
Estou com uma dúvida complicada… Estou fazendo um projeto do curso e tinha de criar todas essas classes. Até aí tudo bem… Porém, quando eu estava na classe order, o diagrama pede para eu criar um método addItem(OrderItem item) e o mesmo método só que removeItem.
Ele se refere a outra classe que eu criei chamada OrderItem. Mas eu não sei como implementar o código.
Eu teria que instanciar a classe no método? Ou usar um extends? Realmente estou perdido pois o exercício era pra ser só pra fixar o que foi passado no curso, mas isso não estava nele
Mandei fotos do diagrama para que possam ter uma noção.
Tem um vídeo dele corrigindo mas não quero ver porque eu quero resolver. Alguém pode me indicar uma luz?
A classe Order
tem um membro chamado items
que é uma lista de itens (algo como private List<OrderItem> items
). A implementação do método addItem( OrderItem item )
deve ser algo assim:
public void addItem( OrderItem item ) {
items.add( item );
}
E o removeItem( OrderItem item )
:
public void removeItem( OrderItem item ) {
items.remove( item );
}
No construtor de Order, algo assim:
public Order() {
items = new ArrayList<>();
}
Para isso funcionar corretamente, em qualquer situação, vc ainda precisaria implementar o método equals
da classe OrderItem
, pq vc precisa remover uma instância dessa classe da lista. Dá uma olhada na documentação da interface List
: https://docs.oracle.com/javase/8/docs/api/java/util/List.html
1 curtida
Muito grato amigo!
Você é incrivel! Nunca se esqueça disso!