- Crie uma aplicação orientada a objetos.
a. Implemente uma classe Proprietário. Declare os seguintes atributos na classe:
• Nome
• CPF
• RG
• Data de Nascimento
• Rua
• Bairro
• Cidade
• Estado
• Cep
• Complemento
b. Faça o encapsulamento dos atributos da classe Proprietário
c. Os atributos nome, cpf e rg são obrigatórios (crie um construtor com esses parâmetros)
d. Implemente uma classe Carro. Declare os seguintes atributos na classe:
• Modelo
• Cor
• Ano
• Marca
• Chassi
• Proprietário
• Velocidade máxima
• Velocidade atual
• Nr de portas
• tem teto solar?
• Nr Marchas
• tem cambio automatico?
• Volume de combustível
e. Faça o encapsulamento da classe Carro e seus atributos
f. Implemente o método acelera que aumenta a velocidade de 1 em 1 km/h
g. Implemente o método freia que para o carro – Velocidade = 0 km/h
h. Implemente o método troca marcha
i. Implemente o método reduz a marcha;
j. Altere a classe Proprietário para que o atributo Endereço vire uma classe;
k. Encapsule os atributos da classe Endereço;
l. O endereço do proprietário não pode ser vazio (altere no construtor para receber o endereço);
m. Todo veículo tem um proprietário obrigatoriamente (implemente um construtor de veículo passando o proprietário como parâmetro);
n. A marcha ré nao pode ser engatada se o a velocidade for superior a 0 KM/h;
o. Implemente um método que calcule a autonomia de viagem do veículo com base no consumo médio passado como parâmetro;
p. Implemente um método para exibir o volume de combustível
q. Transforme o atributo Marca de um carro em uma classe Marca com nome, nrDeModelos, ano de lançamento e código identificador
r. Instancie um objeto da classe Carro, Pessoa, Endereço, Marca e relacione os objetos utilizando os métodos ou construtores quando necessário.