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();