1
resposta

Desafio Concluído

Classe Produto:

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;
    }

    public void setNome(String nome){
        this.nome = nome;
    }

    public void setPreco(double preco){
        this.preco = preco;
    }

    public void setQuantidade(int quantidade){
        this.quantidade = quantidade;
    }

    public String getNome(){
        return nome;
    }

    public double getPreco(){
        return preco;
    }

    public int getQuantidade(){
        return quantidade;
    }


    public String toString(){
        return "O produto " + getNome() + " está custando R$" + getPreco() + " se levar " + getQuantidade();
    }

}

Classe ProdutoPerecivel

public class ProdutoPerecivel extends Produto{

    private int dataValidade;

    public int getDataValidade() {
        return dataValidade;
    }

    public void setDataValidade(int dataValidade) {
        this.dataValidade = dataValidade;
    }

    public ProdutoPerecivel(String nome, double preco, int quantidade, int dataValidade) {
        super(nome, preco, quantidade);
        this.dataValidade = dataValidade;
    }
    public String toString(){
        return super.toString() + " e vence no dia " + dataValidade;
                }

}

Classe Principal:

public class Principal{
    public static void main (String[] args) {

        Produto bolacha = new Produto("Trakinas", 3.99, 2);
        Produto sabao = new Produto("Sabão em pó", 28.69, 3);
        Produto cueca =  new Produto ("Cueca Lupo", 52.82, 4);

        var totalProdutos = new ArrayList<Produto>();
        totalProdutos.add(bolacha);
        totalProdutos.add(sabao);
        totalProdutos.add(cueca);

        System.out.println(totalProdutos.size());
        System.out.println(totalProdutos.get(0));

        var frango = new ProdutoPerecivel("Frango", 18.99, 1, 21);
        System.out.println(frango);
    }
}
1 resposta

E aí, Arthur Alves! Tudo certo?

Que show ver seu projeto por aqui! Você mandou muito bem!

A forma como você implementou a herança, com ProdutoPerecivel estendendo Produto, ficou show de bola. Usar o super() no construtor da classe filha e sobrescrever o toString() para adicionar a data de validade foi uma sacada certinha, mostrando que você pegou a ideia de polimorfismo e reutilização de código.

Seu código está funcionando direitinho e demonstra um ótimo entendimento dos conceitos de Orientação a Objetos e como trabalhar com coleções como o ArrayList.

Parabéns pela iniciativa e por colocar a mão na massa! Continue nessa pegada que você vai longe. Conte com a Alura para evoluir sempre.

Grande abraço!

Bons estudos!

Sucesso

Imagem da comunidade