1
resposta

Exercicio

package Relatorio.ProdutosArrays;

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 String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    @Override
    public String toString() {
        return "Produto: " + nome + "\n" +
                " preco: " + preco + "\n" +
                " quantidade: " + quantidade;
    }
}
package Relatorio.ProdutosArrays;

public class ProdutoPericivel extends Produto{

    private String dataDeValidade;

    public ProdutoPericivel(String nome, double preco, int quantidade, String dataDeValidade) {
        super(nome, preco, quantidade);
        this.dataDeValidade = dataDeValidade;
    }

    public String getDataDeValidade() {
        return dataDeValidade;
    }

    @Override
    public String toString() {
        return "Produto: " +
                  getNome() + "\n" +
                " preco: " + getPreco() + "\n" +
                " quantidade: " + getQuantidade() + "\n" +
                " data de validade: " + getDataDeValidade();
    }
}
package Relatorio.ProdutosArrays;

import java.util.ArrayList;

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

        Produto produto = new Produto("Mouse", 250,10);
        Produto produto2 = new Produto("Teclado", 149.9, 6);
        Produto produto3 = new Produto("Monitor", 590, 12);
        var produtoPericivel = new ProdutoPericivel("Lata de leite", 9.99, 6, "15/05/2026");

        ArrayList<Produto> listaDeProdutos = new ArrayList<>();
        listaDeProdutos.add(produto);
        listaDeProdutos.add(produto2);
        listaDeProdutos.add(produto3);
        listaDeProdutos.add(produtoPericivel);
        System.out.println("Tamanho da lista: " + listaDeProdutos.size());
        System.out.println("Produto da posição 3: " + listaDeProdutos.get(3));

    }
}
1 resposta

Olá, Wanderson, como vai?

O seu código demonstra um excelente domínio sobre os conceitos de orientação a objetos. Você aplicou corretamente a sobrescrita do método toString tanto na classe mãe quanto na classe filha, o que facilita muito a exibição dos dados. A utilização do ArrayList para armazenar diferentes tipos de produtos, aproveitando o polimorfismo, está correta e segue as boas práticas de desenvolvimento em Java.

Parabéns pelo empenho na resolução do desafio e pela organização das classes em seu projeto.

Agradeço por compartilhar sua evolução com a comunidade e continue praticando para fixar cada vez mais esses fundamentos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!