1
resposta

[Projeto] Desafio: hora da prática - Classe Carro

package atividades;

import java.util.Calendar;

public class Carro {

    String modelo;
    int ano;
    String cor;
    Calendar calendar = Calendar.getInstance();
    int anoAtual = calendar.get(Calendar.YEAR);

    private int idade;

    public void fichaTecnica (){
        System.out.println("***** Ficha Técnica ******"+"\n"+"Modelo: " + modelo+  "\n" + "Cor: " + cor + "\n" + "Ano: " + ano + "\n" + "Idade: " +
                calcularIdade() + " anos" + "\n" + "**************+++++++++++");

    }

    private int calcularIdade (){
        idade = anoAtual - ano;
         return idade;
    }

}
1 resposta

Oi, Matheus! Tudo bem?

Parabéns por organizar sua classe de maneira clara e por já implementar métodos para calcular a idade do carro e exibir uma ficha técnica, ficou super bacana!

Deixo como sugestão para complemento e estudo aplicarmos o conceito de encapsulação dos atributos da nossa classe no nosso código, o que é uma boa prática. Atualmente, os atributos modelo, ano e cor estão definidos como package-private, o que significa que eles podem ser acessados diretamente por outras classes no mesmo pacote. Dessa forma, para uma melhor prática de encapsulamento em orientação a objetos, poderíamos definir esses atributos como private e fornecer métodos públicos get e set para acessá-los, o que dá mais controle sobre como os valores são acessados e modificados.

Aqui está um exemplo de como você poderíamos modificar a classe para incluir esses métodos:

package atividades;

import java.util.Calendar;

public class Carro {

    private String modelo;
    private int ano;
    private String cor;
    private Calendar calendar = Calendar.getInstance();
    private int anoAtual = calendar.get(Calendar.YEAR);
    private int idade;

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

    public int getAno() {
        return ano;
    }

    public void setAno(int ano) {
        this.ano = ano;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }

    public void fichaTecnica() {
        System.out.println("***** Ficha Técnica ******" + "\n" + "Modelo: " + modelo + "\n" + "Cor: " + cor + "\n" + "Ano: " + ano + "\n" + "Idade: " +
                calcularIdade() + " anos" + "\n" + "**************+++++++++++");
    }

    private int calcularIdade() {
        idade = anoAtual - ano;
        return idade;
    }
}

Essa mudança aumenta a segurança do código e é uma prática comum em Java para seguir os princípios de encapsulamento. Espero ter ajudado!

Um forte abraço e bons estudos!