Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Resposta: simulador de transporte urbano

Classe 1:

class Transporte
{
    public virtual int CalcularTempo(int distanciaKm)
    {
        return distanciaKm; 
    }
    
        
    
}

Classe 2:

class Onibus : Transporte
{
    public override int CalcularTempo(int distanciaKm)
    {
        return (distanciaKm * 2) + 5;
    }
}

Classe 3:

class Metro : Transporte
{
    public override int CalcularTempo(int distanciaKm)
    {
        return distanciaKm + 5;
    }
}

Classe 4:

class Bicicleta : Transporte
{
    public override int CalcularTempo(int distanciaKm)
    {
        return distanciaKm * 4;
    }
}
1 resposta
solução!

Oi, Philip! Como vai?

Você fez o uso correto de polimorfismo, deixando cada meio de transporte responsável por seu próprio cálculo de tempo, o que deixa o código mais organizado e fácil de estender. Uma dica interessante para o futuro e usar classes abstratas quando a classe base não deve ser instanciada diretamente, reforçando a intenção do modelo. Veja este exemplo:


abstract class Transporte
{
    public abstract int CalcularTempo(int distanciaKm);
}

Esse código define um contrato obrigatório para as classes filhas, garantindo que todas implementem CalcularTempo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abracos e bons estudos!