Agora entendi por que não estava conseguindo haha algumas partes da aula eu acabei pulando sem querer então estou revendo novamente o curso e AGORA SIM!!! ENTENDO TUDO !!!
Essa foi a maneira como desenvolvi:
Se tiver alguma maneira de melhorar estou super aberto a ouvir (nesse caso ler hehe) cada delas.
package br.com.alura.screenmatch.Desafios;
import java.util.ArrayList;
public class Compras {
public static void main(String[] args) {
Produto item_01 = new Produto();
Produto item_02 = new Produto();
Produto item_03 = new Produto();
ProdutoPerecivel item_04 = new ProdutoPerecivel();
item_01.Produto("Uva", 8.99, 3);
item_02.Produto("Maça", 2.99, 7);
item_03.Produto("Banana", 6.99, 14);
item_04.ProdutoPerecivel("Ovos", 12.99, 30, "24/10/2024");
ArrayList<Produto> lista = new ArrayList<>();
lista.add(item_01);
lista.add(item_02);
lista.add(item_03);
lista.add(item_04);
for (Produto i: lista){
System.out.println(i);
}
System.out.println("Data de validade: " + item_04.getDataDeValidade());
}
}
class Produto{
private String nome;
private double preco;
private int quant;
public void Produto(String nome, double preco, int quant){
this.setNome(nome);
this.setPreco(preco);
this.setQuantidade(quant);
}
public void setNome(String nome){
this.nome = nome;
}
public void setPreco(double preco){
this.preco = preco;
}
public void setQuantidade(int quant){
this.quant = quant;
}
public String getNome(){
return nome;
}
public double getPreco(){
return preco;
}
public int getQuantidade(){
return quant;
}
@Override
public String toString() {
return "\nProduto: " + getNome() + " \nPreco: " + getPreco() + " \nQuantidade: " + getQuantidade();
}
}
class ProdutoPerecivel extends Produto{
private String dataDeValidade;
public void ProdutoPerecivel(String nome, double preco, int quant, String dataDeValidade){
this.setNome(nome);
this.setPreco(preco);
this.setQuantidade(quant);
this.dataDeValidade = dataDeValidade;
}
public void setDataDeValidade(String dataDeValidade) {
this.dataDeValidade = dataDeValidade;
}
public String getDataDeValidade() {
return dataDeValidade;
}
}