Create base class shape with method perimeter()

Create base class shape with method perimeter()

Create base class shape with method perimeter(). Create subclass square and rectangle that override perimeter() method . Print perimeter.

# Base class
class Shape:
    def perimeter(self):
        # Generic perimeter method, to be overridden by subclasses
        print("This method should be overridden by the specific shape.")
        return 0

# Subclass for Square
class Square(Shape):
    def __init__(self, side):
        self.side = side

    # Overriding the perimeter method
    def perimeter(self):
        return 4 * self.side

# Subclass for Rectangle
class Rectangle(Shape):
    def __init__(self, length, breadth):
        self.length = length
        self.breadth = breadth

    # Overriding the perimeter method
    def perimeter(self):
        return 2 * (self.length + self.breadth)

# --- Creating objects and printing perimeter ---

# Example 1: A square with side 5 meters (like a small garden)
print("--- Square ---")
square = Square(5)
perim = square.perimeter()
print(f"The perimeter of the square is: {perim} meters")

# Example 2: A rectangular plot (e.g., in a farm)
print("\n--- Rectangle ---")
rectangle = Rectangle(10, 15)
perim = rectangle.perimeter()
print(f"The perimeter of the rectangle is: {perim} meters")