1
resposta

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

interface Ipagavel
{
    double CalcularPagamento();
}

class Produto : Ipagavel
{
    public Produto(int quantidade, double valorUnitario)
    {
        Quantidade = quantidade;
        ValorUnitario = valorUnitario;
    }

    public int Quantidade {get; }
    public double ValorUnitario {get; }
    public double CalcularPagamento()
    {
        return Quantidade * ValorUnitario;
    }
}

class Servico: Ipagavel
{
    public Servico(double taxaHoraria, int tempoTotal)
    {
        TaxaHoraria = taxaHoraria;
        TempoTotal = tempoTotal;
    }

    public double TaxaHoraria {get; }
    public int TempoTotal {get; }

    public double CalcularPagamento()
    {
        return TempoTotal * TaxaHoraria;
    }
}
1 resposta

Oi, Eduardo! Como vai?

Agradeço por compartilhar.

Seu código ficou bem organizado e mostra que você compreendeu o uso de interfaces em C#. A interface Ipagavel define o contrato com o método CalcularPagamento(), e as classes Produto e Servico implementam esse comportamento de formas diferentes, o que é uma boa aplicação de polimorfismo.

Dica: para seguir melhor as convenções do C#, use o nome da interface começando com I, como IPagavel, com o P maiúsculo. Isso ajuda na leitura do código e deixa mais claro que se trata de uma interface.

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