- Utilize apenas tipos wrapper para criar atributos e métodos.
- Respeite os nomes de atributos e métodos definidos no exercício.
- Tome cuidado com os argumentos especificados no exercício. Não adicione argumentos não solicitados e mantenha a ordem definida no enunciado.
- Verifique se não há erros de compilação no projeto antes de enviar.
- As classes devem seguir as regras de encapsulamento.
- Deixe sempre um construtor vazio para utilização nos testes unitários.
calcularPreco
:- método abstrato que deve ser implementado nas classes filhas.
calcularPreco
:- o cálculo do preço do livro deve ser feito da seguinte forma:
- se o livro for DIGITAL, o preço é igual à quantidade de páginas multiplicado por 0,20.
- se o livro for COMUM, o preço é igual à quantidade de páginas multiplicado por 0,30.
- se o livro for CAPA_DURA, o preço é igual à quantidade de páginas multiplicado por 0,40.
- Considere também o adicional de raridade do Produto.
- o cálculo do preço do livro deve ser feito da seguinte forma:
calcularPreco
:- o preço é igual à quantidade de peças multiplicado por 0,50.
- Considere também o adicional de raridade do Produto.
-
adicionarProduto
:- deve adicionar um produto na lista de produtos da livraria.
-
remover
:- deve remover um produto da lista de produtos da livraria pelo nome.
-
calcularTotalLivros
:- deve calcular o total de livros da livraria.
-
buscarLivrosPorFormato
:- deve retornar uma lista com os livros que possuem o formato passado como argumento.
-
buscarPorRaridade
:- deve retornar uma lista com os produtos que possuem a raridade passada como argumento.
-
existePorNome
:- deve retornar
true
se existir um produto com o nome passado como argumento.
- deve retornar
-
buscarPorQtdPecasMaior
:- deve retornar uma lista com os jogos de tabuleiro que possuem quantidade de peças maior que a passada como argumento.
- tabela de raridade dos produtos:
- COMUM - 0,0
- RARO - 10,0
- MUITO_RARO - 20,0