Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resposta - Exercício 1

Classe GeometricShape:

namespace exercise69.Models;

internal abstract class GeometricShape
{
    public abstract double CalculateArea();
    public abstract double CalculatePerimeter();
}

Classe Circle:

namespace exercise69.Models;

internal class Circle : GeometricShape
{

    private double _pi => 3.14;
    private double _area;
    private double _perimeter;
    public double Radius { get; }

    public Circle(double radius)
    {
        Radius = radius;
    }

    public override double CalculateArea()
    {
        _area = _pi * (Radius * Radius);
        Console.WriteLine($"The area of the circle is equal to {_area:F2}");
        return _area;
    }

    public override double CalculatePerimeter()
    {
        _perimeter = 2 * _pi * Radius;
        Console.WriteLine($"The perimeter of the circle is equal to {_perimeter:F2}");
        return _perimeter;
    }
}

Classe Square:

namespace exercise69.Models;

internal class Square : GeometricShape
{

    private double _area;
    private double _perimeter;
    public double Side { get; }

    public Square(double side)
    {
        Side = side;
    }

    public override double CalculateArea()
    {
        _area = Side * Side;
        Console.WriteLine($"The area of the square is equal to {_area:F2}");
        return _area;
    }

    public override double CalculatePerimeter()
    {
        _perimeter = Side + Side + Side + Side;
        Console.WriteLine($"The perimeter of the square is equal to {_perimeter:F2}");
        return _perimeter;
    }
}

Classe Triangle:

namespace exercise69.Models;

internal class Triangle : GeometricShape
{

    private double _area;
    private double _perimeter;
    public double Base { get; }
    public double Height { get; }
    public double Side { get; }

    public Triangle(double baseSize, double height, double side)
    {
        Base = baseSize;
        Height = height;
        Side = side;
    }

    public override double CalculateArea()
    {
        _area = (Base * Height) / 2;
        Console.WriteLine($"The area of the triangle is equal to {_area:F2}");
        return _area;
    }

    public override double CalculatePerimeter()
    {
        _perimeter = Side + Side + Side;
        Console.WriteLine($"The perimeter of the triangle is equal to {_perimeter:F2}");
        return _perimeter;
    }
}

Instâncias:

using exercise69.Models;

Circle circle = new Circle(10);
circle.CalculateArea();
circle.CalculatePerimeter();
Console.WriteLine();

Square square = new Square(10);
square.CalculateArea();
square.CalculatePerimeter();
Console.WriteLine();

Triangle triangle = new Triangle(10, 8, 6);
triangle.CalculateArea();
triangle.CalculatePerimeter();
Console.WriteLine();
2 respostas
solução!

Oi, Carlos! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Parabéns! Seu código está organizado e fácil de expandir com outras figuras geométricas no futuro.

Continue assim!

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

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

Obrigado pelo suporte, Monalisa.