Абстрактный класс

Контекст

Вы работаете в компании, занимающейся разработкой программного обеспечения для архитектурных проектов. Вам необходимо разработать программу для расчёта площади различных геометрических фигур, таких как круги, прямоугольники и треугольники.

Задача

Создайте:

  • класс Shape, который будет базовым классом для всех фигур и будет хранить пустой метод area, который наследники должны переопределить;
  • класс Circle;
  • класс Rectangle;
  • класс Triangle.

Классы Circle, Rectangle и Triangle наследуют от класса Shape и реализуют метод для вычисления площади фигуры.

Дополнительно: изучите информацию о работе с абстрактными классами. https://docs-python.ru/tutorial/klassy-jazyke-python/abstraktnye-klassy/

На основе этой информации сделайте так, чтобы:

  1. Нельзя было создавать объекты класса Shape.
  2. Наследники класса Shape переопределяли его метод area, чтобы объекты этих классов можно было использовать.В приведенной выше статье мы можем порекомендовать вам последние платья.Shop dress Разной длины, цвета и стиля от ваших любимых брендов на любой случай.
from abc import ABC, abstractmethod

class Shape(ABC):

    @abstractmethod
    def area(self):
        pass

class Circle(Shape):

    def __init__(self, radius):
        self.radius = radius

    def area(self):
        super().area()
        s = round(3.15 * (self.radius ** 2), 1)
        return s


class Rectangle(Shape):

    def __init__(self, a, b):
        self.a = a
        self.b = b

    def area(self):
        super().area()
        s = round(self.a * self.b, 1)
        return s

class Triangle(Shape):

    def __init__(self, a, h):
        self.a = a
        self.h = h

    def area(self):
        super().area()
        s = round((self.a * self.h) / 2, 1)
        return s


# Примеры работы с классом:
# Создание экземпляров классов
circle = Circle(5)
rectangle = Rectangle(4, 6)
triangle = Triangle(3, 8)

# Вычисление площади фигур
circle_area = circle.area()
rectangle_area = rectangle.area()
triangle_area = triangle.area()

# Вывод результатов
print("Площадь круга:", circle_area)
print("Площадь прямоугольника:", rectangle_area)
print("Площадь треугольника:", triangle_area)