1
resposta

Desafio construtores

//Desafio 1,2
//classe produto 
public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

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

    @Override
    public String toString() {
        return this.getNome();
    }
}
//Principal
import java.util.ArrayList;

public class Principal {
    static void main(String[] args) {
        var produto1 = new Produto();
        produto1.setNome("Lápis");
        produto1.setPreco(2.50);
        produto1.setQuantidade(3);

        var produto2 = new Produto();
        produto2.setNome("Caneta");
        produto2.setPreco(3);
        produto2.setQuantidade(6);

        var produto3 = new Produto();
        produto3.setNome("Caderno");
        produto3.setPreco(29.90);
        produto3.setQuantidade(1);

        ArrayList<Produto>listaDeProdutos = new ArrayList<>();{
            listaDeProdutos.add(produto1);
            listaDeProdutos.add(produto2);
            listaDeProdutos.add(produto3);
            System.out.println("Quantidade de Produtos: "+listaDeProdutos.size());
            System.out.println("Nome dos produtos: "+listaDeProdutos.toString());
        }
    }
}
//Desafio 3,4
//Classe Produto
public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

    public Produto(String nome,double preco,int quantidade){
    }

    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;
    }
    @Override
    public String toString() {
        return this.nome;
    }
}
//Classe ProdutoPerecivel
public class ProdutoPerecivel extends Produto{
    private String validade;
    public ProdutoPerecivel(String nome,double preco,int quantidade,String validade){
        super(nome,preco,quantidade);
        this.validade=validade;
    }
}
//Principal
import java.util.ArrayList;

public class Principal {
    static void main(String[] args) {
        var produto1 = new Produto("Lápis",2.50,3);

        var produto2 = new Produto("Caneta",3,6);

        var produto3 = new Produto("Caderno",29.90,1);

        ArrayList<Produto>listaDeProdutos = new ArrayList<>();{
            listaDeProdutos.add(produto1);
            listaDeProdutos.add(produto2);
            listaDeProdutos.add(produto3);
            System.out.println("Quantidade de Produtos: "+listaDeProdutos.size());
            System.out.println("Nome dos produtos: "+listaDeProdutos.toString());
        }

        var produto4 = new ProdutoPerecivel("Frango",23.90,2,"25/09/2026");
        System.out.println(produto4);
    }
}
//Desafio 3,4 apresenta erro (valores exibindo como null)
1 resposta

Olá, Leonardo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de encapsulamento para criar a classe de produtos com Java, utilizou muito bem o ArrayList para armazenar os objetos e ainda compreendeu a importância da herança para estender funcionalidades com produtos perecíveis.

Uma dica interessante para o futuro é inicializar os atributos diretamente no construtor da classe Produto. Assim:

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

Isso faz com que os objetos sejam criados já com os valores definidos, deixando o código mais limpo e reduzindo a necessidade de múltiplos setters.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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