poly.py 740 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Полиморфизм
  2. # Проблема
  3. class Rectangle:
  4. def __init__(self, a, b):
  5. self.a = a
  6. self.b = b
  7. def get_area(self):
  8. return self.a * self.b
  9. class Square:
  10. def __init__(self, a) -> None:
  11. self.a = a
  12. def get_area(self):
  13. return self.a**2
  14. class Circle:
  15. def __init__(self, r):
  16. self.r = r
  17. def get_area(self):
  18. return 3.14*self.r**2
  19. def main():
  20. rect1 = Rectangle(3, 4)
  21. rect2 = Rectangle(12, 5)
  22. sq1 = Square(4)
  23. sq2 = Square(5)
  24. figures = [rect1, rect2, sq1, sq2]
  25. for figure in figures:
  26. print(figure.get_area())
  27. if __name__ == '__main__':
  28. main()