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!