1
resposta

[Projeto] Minha solução

namespace Teste4_Alura.ExercicioOO;

internal class Bicicleta : Transporte
{
    public override int CalcularTempo(int distanciaKm)
    {
        return base.CalcularTempo(distanciaKm * 4);
    }

}
namespace Teste4_Alura.ExercicioOO;

internal class Metro : Transporte
{
    public override int CalcularTempo(int distanciaKm)
    {
        return base.CalcularTempo(distanciaKm + 5);
    }
}
namespace Teste4_Alura.ExercicioOO;

internal class Onibus : Transporte
{
    public int distancia { get; set; }
   

    public override int CalcularTempo(int distanciaKm)
    {
        return base.CalcularTempo(distanciaKm *2) + 5;

    }
}
namespace Teste4_Alura.ExercicioOO;

internal class Transporte
{
    public virtual int CalcularTempo(int distanciaKm)
    {
        return distanciaKm; 
    }
}
#region Simulador de transporte Urbano

List<Transporte> opcoes = new List<Transporte>
{
    new Onibus(),
    new Metro(),
    new Bicicleta()
};

int distancia = 10;

foreach (var transporte in opcoes)
{
    Console.WriteLine($"{transporte.GetType().Name}: {transporte.CalcularTempo(distancia)} min");
}



#endregion
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de herança para estruturar diferentes meios de transporte, utilizou muito bem a sobrescrita de métodos para personalizar os cálculos de tempo e ainda compreendeu a importância do polimorfismo para simular cenários variados de deslocamento urbano.

Uma sugestão para o futuro seria considerar a inclusão de fatores externos, como trânsito ou condições climáticas, para tornar a simulação ainda mais realista.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!