1
resposta

Simples e limpo

class Retangulo
{
    public Retangulo(double altura, double largura)
    {
        Altura = altura;
        Largura = largura;
    }

    public double Altura { get; }
    public double Largura { get; }

    public void calculaArea()
    {
        Console.WriteLine($"Á área é de: {Altura * Largura}");
    }
}





//Program
Retangulo area1 = new Retangulo(8,25);
area1.calculaArea();
1 resposta

Oii, Cauan.

Gostei muito da sua abordagem. O uso do construtor para exigir a altura e a largura logo no nascimento do objeto é uma prática excelente, pois garante que não existirá um retângulo "vazio" ou com medidas inválidas no sistema.

Para alinhar sua solução com o que o exercício propõe e te dar mais flexibilidade no futuro, tenho duas observações técnicas.

A primeira é sobre a responsabilidade do método. O enunciado pede que a função retorne o valor da área. No seu código, você usou void e imprimiu direto na tela. O ideal, em Orientação a Objetos, é que a classe apenas faça a conta e devolva o número (double). Assim, o programa principal decide se vai imprimir, salvar num banco de dados ou usar esse número em outra fórmula.

A segunda é sobre as propriedades Altura e Largura. Você usou apenas o get;, o que torna o objeto imutável (leitura apenas). Isso é ótimo para segurança, mas se você precisar redimensionar o retângulo depois de criado, o código daria erro. Para seguir o modelo da aula, o set; é necessário.

Parabéns pela implementação. Continue assim.

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