1
resposta

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

interface IForma
{
    double CalcularArea();
    double CalcularPerimetro();
}

class Circulo : IForma
{
    public double Raio {get; }

    public Circulo(double raio)
    {
        Raio = raio;
    }

    public double CalcularArea()
    {
        return Math.PI * (Raio * Raio);
    }

    public double CalcularPerimetro()
    {
        return 2 * Math.PI * Raio;
    }
}

class Retangulo : IForma
{
    public Retangulo(double largura, double comprimento)
    {
        Largura = largura;
        Comprimento = comprimento;
    }

    public double Largura {get; }
    public double Comprimento {get; }

    public double CalcularArea()
    {
        return Largura * Comprimento;
    }

    public double CalcularPerimetro()
    {
        return (Largura * 2)  + ( Comprimento * 2);
    }
}
1 resposta

Oi, Eduardo! Como vai?

Gostei de como você usou a interface IForma para definir os métodos CalcularArea() e CalcularPerimetro(), deixando claro que tanto Circulo quanto Retangulo devem seguir o mesmo contrato. A organização das propriedades com apenas get também ficou bem adequada para manter os valores protegidos depois da criação dos objetos.

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