1
resposta

[Projeto] [Projeto] [Projeto] Desafio: hora da prática - 4

{
    string EnviarNotificacao();
}

class Email : INotificavel
{
    public string EnviarNotificacao()
    {
        return "Enviou um email";
    }
}

class Sms : INotificavel
{
    public string EnviarNotificacao()
    {
        return "Enviou um sms";
    }
}
1 resposta

Oi, Eduardo! Como vai?

Seu uso da interface INotificavel ficou bem organizado, pois tanto a classe Email quanto a classe Sms seguem o mesmo contrato com o método EnviarNotificacao(). Isso mostra bem a ideia de padronizar comportamentos em classes diferentes usando orientação a objetos.

Uma dica interessante para o futuro é usar polimorfismo para chamar o método sem precisar saber se o objeto é um Email ou um Sms. Veja este exemplo:


INotificavel notificacao = new Email();
Console.WriteLine(notificacao.EnviarNotificacao());

notificacao = new Sms();
Console.WriteLine(notificacao.EnviarNotificacao());

Esse codigo cria uma variavel do tipo INotificavel e permite trocar o objeto usado, mantendo a chamada do metodo EnviarNotificacao() da mesma forma.

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