Galera…
Estou tentando utilizar encapsulamento neste codigo. Mas na execução, o código apresenta erro no console.
Alguem poderia me dizer o que há de errado com meu codigo e qual o melhor momento para usar esse tipo de encapsulamento?
Aí está a bendito:
package Prova;
public class Veiculos{
String placa;
String marca;
Categoria categoria;
public Veiculos() {// Metodo construtor sem parâmetros
}
public String getPlaca (){
return placa;
}
public void setPlaca (String placa){
this.placa = placa;
}
public String getMarca(){
return marca;
}
public void setMarca(String marca){
this.marca = marca;
}
public Categoria getCategoria (){
return categoria;
}
public void setCategoria (Categoria categoria){
this.categoria = categoria;
}
}
package Prova;
public class Categoria extends Veiculos{
public String nomeCategoria;
public double diaria;
public int tempoLocacao;
public Categoria(){ //Metodo construtor sem parametros
}
public String getNomeCategoria(){
return nomeCategoria;
}
public void setNomeCategoria(String nomeCategoria){
this.nomeCategoria = nomeCategoria;
}
public double getDiaria(){
return diaria;
}
public void setDiaria(double diaria){
this.diaria = diaria;
}
public int getTempoLocacao(){
return tempoLocacao;
}
public void setTempoLocacao(int tempoLocacao){
this.tempoLocacao = tempoLocacao;
}
}
package Prova;
public class Main{
public static void main(String args[]){
Veiculos v1 = new Veiculos();
v1.setPlaca ("jkl 9564");
v1.setMarca ("Toyota");
v1.categoria.setNomeCategoria ("ASW Hillux");
v1.categoria.setDiaria(90.0);
v1.categoria.setTempoLocacao(20);
system.out.println("Placa: "+v1.getPlaca());
system.out.println("Marca: "+v1.getMarca());
system.out.println("Nome da Categoria: "+v1.categoria.getNomeCategoria());
system.out.println("Diaria: "+v1.categoria.getDiaria());
system.out.println("Tempo de Locação: "+v1.categoria.getTempoLocacao());
}
}