Implemente:
b) Uma subclasse de MeioDeTransporte chamada Carro. Carro deve ter os atributos marca (String), nome (String) e quilometragem (tipo int) e os métodos necessários para ler os atributos e alterá-los (get e set). A quilometragem não pode ser negativa, nem ultrapassar o valor 999999. A velocidade do Carro não pode ser negativa, nem ultrapassar 200.
b) Uma subclasse de MeioDeTransporte chamada Carro. Carro deve ter os atributos marca (String), nome (String) e quilometragem (tipo int) e os métodos necessários para ler os atributos e alterá-los (get e set). A quilometragem não pode ser negativa, nem ultrapassar o valor 999999. A velocidade do Carro não pode ser negativa, nem ultrapassar 200.
Passo 1
Beleza, vamos lá! O enunciado pede para a gente criar uma subclasse chamada Carro que herda de MeioDeTransporte. Isso envolve conceitos de Programação Orientada a Objetos (POO), como herança e encapsulamento. Precisamos definir os atributos marca (String), nome (String) e quilometragem (int), além de métodos para ler (get) e alterar (set) esses atributos. Tem também umas regras: a quilometragem não pode ser negativa nem passar de 999999, e a velocidade do carro não pode ser negativa nem ultrapassar 200. Vamos usar Java para implementar isso.
Passo 2
Primeiro, vamos criar a classe Carro que estende a classe MeioDeTransporte. Isso significa que Carro vai herdar todas as características de MeioDeTransporte e a gente pode adicionar mais especificidades.
public class Carro extends MeioDeTransporte {
// Atributos e métodos vão aqui
}
Passo 3
Agora, vamos declarar os atributos marca, nome e quilometragem. Em POO, é uma boa prática deixar esses atributos privados para proteger os dados e acessar eles somente através de métodos get e set.
private String marca;
private String nome;
private int quilometragem;
Passo 4
Vamos criar os métodos get e set para cada atributo. Os métodos get retornam o valor do atributo, e os set permitem alterar o valor, respeitando as regras que o enunciado deu.
Primeiro, para marca:
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
E para nome:
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
Passo 5
Agora, vamos cuidar da quilometragem. A gente precisa garantir que ela nunca seja negativa e não passe de 999999. Então, no método setQuilometragem, vamos colocar uma condição para verificar isso.
public int getQuilometragem() {
return quilometragem;
}
public void setQuilometragem(int quilometragem) {
if (quilometragem >= 0 && quilometragem <= 999999) {
this.quilometragem = quilometragem;
} else {
System.out.println("Quilometragem inválida. Deve ser entre 0 e 999999.");
}
}
Passo 6
Por último, precisamos garantir que a velocidade do carro também respeite as regras: não pode ser negativa e não pode passar de 200. Vamos supor que a classe MeioDeTransporte já tem um atributo velocidade e métodos get e set para ele. Então, vamos sobrescrever o método setVelocidade para adicionar as verificações.
@Override
public void setVelocidade(int velocidade) {
if (velocidade >= 0 && velocidade <= 200) {
super.setVelocidade(velocidade);
} else {
System.out.println("Velocidade inválida. Deve ser entre 0 e 200.");
}
}
Resposta
Juntando tudo, a classe Carro ficaria assim:
public class Carro extends MeioDeTransporte {
private String marca;
private String nome;
private int quilometragem;
// Getter e Setter para marca
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
// Getter e Setter para nome
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
// Getter e Setter para quilometragem com validação
public int getQuilometragem() {
return quilometragem;
}
public void setQuilometragem(int quilometragem) {
if (quilometragem >= 0 && quilometragem <= 999999) {
this.quilometragem = quilometragem;
} else {
System.out.println("Quilometragem inválida. Deve ser entre 0 e 999999.");
}
}
// Sobrescreve o método setVelocidade com validação
@Override
public void setVelocidade(int velocidade) {
if (velocidade >= 0 && velocidade <= 200) {
super.setVelocidade(velocidade);
} else {
System.out.println("Velocidade inválida. Deve ser entre 0 e 200.");
}
}
}
Pronto! Agora você tem a subclasse Carro com os atributos e métodos necessários, seguindo todas as regras do enunciado.