Como criar um método para adicionar um conteúdo de outra classe?

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:

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:

:wink:

1 curtida