public class Produto { private String nome; private double preco; private int quantidade;
public Produto(String nome, double preco, int quantidade) {
this.nome = nome;
this.preco = preco;
this.quantidade = quantidade;
}
@Override
public String toString() {
return "Produto: " + nome + " Preço: R$ " + preco + " Quantidade em estoque: " + quantidade;
}
}
public class ProdutoPerecivel extends Produto {
String dataDeValidade;
public ProdutoPerecivel(String nome, double preco, int quantidade, String dataDeValidade) {
super(nome, preco, quantidade);
this.dataDeValidade = dataDeValidade;
}
}
import java.util.ArrayList;
public class Main { public static void main(String[] args) { Produto borracha = new Produto("Borracha", 5.90, 1); Produto caneta = new Produto("Caneta bic", 2.50, 2); Produto lapiseira = new Produto("Lapiseira 0.7", 7.50, 1); ProdutoPerecivel carne = new ProdutoPerecivel("Acém moído 1kg", 17.90, 1, "25/02/2024");
ArrayList<Produto> listaDeProdutos = new ArrayList<>();
listaDeProdutos.add(borracha);
listaDeProdutos.add(lapiseira);
listaDeProdutos.add(caneta);
System.out.println("Tamanho da lista de produtos: " + listaDeProdutos.size());
System.out.println("Produto: " + listaDeProdutos.get(0));
System.out.println("Lista de produtos: " + listaDeProdutos.toString());
System.out.println(carne);
}
}
Ao imprimir o produto perecivel, notei que ele retorna somente os dados que inseri no metodo toString, deixando para trás a validade que defini para o produto. Para corrigir isso seria necessário adicionar uma condicional dentro do método?