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 ![:frowning: :frowning:](https://www.guj.com.br/images/emoji/twitter/frowning.png?v=9)
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!
![:smiling_face_with_three_hearts: :smiling_face_with_three_hearts:](https://www.guj.com.br/images/emoji/twitter/smiling_face_with_three_hearts.png?v=9)