Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

[Projeto] Resolução InterfaceVeiculos

https://github.com/CristinMarchiori/InterfaceVeiculo

namespace InterfaceVeiculo.Classes;

internal interface IPilotavel
{
    void Frear();
    void Acelerar();
}
namespace InterfaceVeiculo.Classes;

internal interface IVoavel
{
    void Decolar();
    void Pousar();
}
namespace InterfaceVeiculo.Classes;

internal class Veiculo : IPilotavel, IVoavel
{
    public void Acelerar()
    {
        Console.WriteLine($"Acelerando o veículo.");
    }
    public void Frear()
    {
        Console.WriteLine($"Freando o veículo..");
    }
    public void Decolar()
    {
        Console.WriteLine($"Decolando o veículo.");
    }
    public void Pousar()
    {
        Console.WriteLine("Pousando o veículo...");
    }
}
1 resposta

Oi, Cristin! Como vai?

Gostei de ver que você estruturou interfaces (IPilotavel e IVoavel) e uma classe Veiculo que implementa ambas. Isso mostra domínio da herança múltipla via interfaces, permitindo que um mesmo objeto tenha comportamentos distintos.

Uma dica interessante para o futuro é usar override em heranças de classes, quando precisar alterar um comportamento já definido. Veja este exemplo:


class Animal {
    public virtual void FazerSom() {
        Console.WriteLine("Som generico");
    }
}

class Cachorro : Animal {
    public override void FazerSom() {
        Console.WriteLine("Latindo");
    }
}

Esse código mostra como um Cachorro redefine o método FazerSom da classe Animal.

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