Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio: Compreensão sobre construtores

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // Criando uma lista de objetos Produto
        ArrayList<Produto> listaDeProdutos = new ArrayList<>();

        // Adicionando alguns produtos à lista
        listaDeProdutos.add(new Produto("Pão", 10.0, 5, "01/01/2025"));
        listaDeProdutos.add(new Produto("Aveia", 20.0, 3, "05/02/2025"));
        listaDeProdutos.add(new Produto("Carne", 30.0, 8, "10/03/2025"));

        // Imprimindo o tamanho da lista
        System.out.println("Tamanho da lista de produtos: " + listaDeProdutos.size());

        // Recuperando um produto pelo índice e imprimindo
        int indice = 1; // Índice do produto a ser recuperado
        System.out.println("Produto no índice " + indice + ": " + listaDeProdutos.get(indice));

        // Criando um objeto ProdutoPerecivel
        ProdutoPerecivel produtoPerecivel = new ProdutoPerecivel("Leite", 2.5, 10, "01/06/2024");

        // Imprimindo os valores do produto perecível
        System.out.println("Produto Perecível: " + produtoPerecivel);
    }
}
class Produto {
    private String nome;
    private double preco;
    private int quantidade;
    private String dataVencimento;

    // Construtor que aceita parâmetros para inicializar os atributos
    public Produto(String nome, double preco, int quantidade, String dataVencimento) {
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
        this.dataVencimento = dataVencimento;
    }

    public String getNome() {
        return nome;
    }

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

    public double getPreco() {
        return preco;
    }

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

    public int getQuantidade() {
        return quantidade;
    }

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

    public String getDataVencimento() {
        return dataVencimento;
    }

    public void setDataVencimento(String dataVencimento) {
        this.dataVencimento = dataVencimento;
    }

    // Método toString para representação textual do objeto
    @Override
    public String toString() {
        return "Produto [nome=" + nome + ", preco=" + preco + ", quantidade=" + quantidade + ", dataVencimento=" + dataVencimento + "]";
    }
}
class ProdutoPerecivel extends Produto {

    // Construtor que utiliza o construtor da classe mãe para inicializar os atributos herdados
    public ProdutoPerecivel(String nome, double preco, int quantidade, String dataVencimento) {
        super(nome, preco, quantidade, dataVencimento);
    }

    // Método toString para representação textual do objeto
    @Override
    public String toString() {
        return "ProdutoPerecivel [nome=" + getNome() + ", preco=" + getPreco() + ", quantidade=" + getQuantidade() + ", dataVencimento=" + getDataVencimento() + "]";
    }
}
1 resposta
solução!

Oii Samil, tudo bem?

Meus parabéns pela resolução do desafio sobre os construtores. O uso dos construtores na classe Produto permite que criarmos objetos Produto com todas as informações necessárias de uma só vez, sem precisar setar cada atributo individualmente.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!