Desafio de Herança de Veículos em Java

JavaBeginner
Pratique Agora

Introdução

Bem-vindo à JavaMotors, a fabricante de carros virtuais mais inovadora do mundo da programação! Como um desenvolvedor júnior recém-contratado, sua primeira tarefa é ajudar a implementar um recurso crucial para o sistema de gerenciamento de veículos da empresa.

O desenvolvedor sênior já configurou a estrutura básica das classes de veículos, mas eles precisam da sua ajuda para completar a hierarquia de herança. Sua missão é criar uma classe Car que herda da classe Vehicle e adiciona um método específico para carros.

Você está pronto para aceitar este desafio e ajudar a JavaMotors a revolucionar seu sistema de gestão? Vamos começar a programar!

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) pois você deve tentar completar a tarefa de forma independente, em vez de seguir passos instrucionais. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode discutir com o Labby ou verificar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 95%. Ele recebeu uma taxa de avaliações positivas de 97% dos alunos.

Completar a Implementação da Classe Car

Este exercício levará você por uma jornada no mundo da programação orientada a objetos e da herança em Java. Ao estender a classe Vehicle para criar a classe Car, você ganhará experiência prática com um dos conceitos fundamentais da POO. Este desafio ajudará você a entender como criar classes especializadas que se baseiam em classes mais genéricas, uma habilidade crucial no design de sistemas de software de grande escala e fácil manutenção. Vamos ligar os motores e mergulhar no mundo dos veículos virtuais!

Tarefas

  • Abra o arquivo pré-criado Car.java no diretório ~/project.
  • Encontre o comentário TODO no código.
  • Implemente o método honk na classe Car.

Requisitos

  • O arquivo Car.java já deve existir no diretório ~/project.
  • A classe Car deve estender (extend) a classe Vehicle.
  • Complete o método honk:
    • Ele deve imprimir uma mensagem dizendo "[car name] goes beep beep!", onde [car name] é o nome do carro.
  • Não modifique nenhuma outra parte do código.

Exemplo

Quando concluído corretamente, a execução do método main em VehicleDemo.java deve produzir uma saída semelhante a esta:

cd ~/project
javac VehicleDemo.java
java VehicleDemo

Exemplo de Saída:

Vehicle details:
Name: Generic Vehicle
Speed: 0

Car details:
Name: My Car
Speed: 0
My Car goes beep beep!
✨ Verificar Solução e Praticar

Resumo

Neste desafio, você implementou um recurso fundamental de um sistema de gerenciamento de veículos usando herança em Java. Este exercício reforçou conceitos-chave do seu aprendizado sobre Herança e Polimorfismo em Java:

  1. Herança: Você trabalhou com uma classe Car que estende a classe Vehicle, demonstrando como a herança nos permite criar classes especializadas baseadas em classes mais genéricas.
  2. Implementação de Métodos: Você adicionou um método específico (honk) à classe Car, mostrando como as subclasses podem ter funcionalidades adicionais além do que é herdado de sua superclasse.
  3. Uso de Métodos Herdados: O método honk utilizou o método getName(), que é herdado da classe Vehicle, demonstrando como as subclasses podem utilizar métodos de sua superclasse.

Ao completar este desafio, você não apenas praticou essas habilidades fundamentais de Java, mas também criou um recurso prático comum em muitos sistemas orientados a objetos do mundo real. Hierarquias de veículos são um exemplo clássico usado para ensinar herança, e você acaba de implementar uma parte desse sistema!

Lembre-se, a herança é uma ferramenta poderosa na programação orientada a objetos que nos permite criar hierarquias de classes, promovendo o reuso de código e a organização lógica do sistema. À medida que você continua sua jornada na JavaMotors, você poderá aprimorar este sistema:

  • Adicionando mais tipos de veículos (como Motorcycle ou Truck)
  • Implementando métodos mais específicos para cada tipo de veículo
  • Sobrescrevendo métodos da classe Vehicle para fornecer comportamentos mais específicos para cada subclasse

Continue praticando e experimentando com seu código. Quanto mais você trabalhar com herança e outros princípios orientados a objetos, mais natural será estruturar seus programas em Java. Bem-vindo ao mundo da fabricação de veículos virtuais na JavaMotors!