Inheritance in OOP Python: Rectangle & Cuboid Example

UpComing SoftWare Training Demos

🚀 *Gen AI Engineer Telugu (Production Focused)*
🗓️ *Date:* 30th Sept 2026, 07:00AM IST
📝 *Register Now!:*
https://www.vlrt.in/gr
👥 *Join WA Community:*
https://www.vlrt.in/gw
💡*Course Content:*
https://www.vlrt.in/ai
▶️ *Demo Videos:*
https://www.vlrt.in/gv

🚀 *Service now Admin/ Development (ITSM)FREE Demo in Telugu*
🗓️ *Date:* 30th Sept 2026, 08:00AM IST
📝 *Register Now!:*
https://www.vlrt.in/7r
👥 *Join WA Community:*
https://www.vlrt.in/7w
💡*Course Content:*
https://www.vlrt.in/7c
▶️ *Demo Videos:*
https://www.vlrt.in/7v

🚀 *Vulnerability Management Training Demo*
🗓️ *Date:* 30th Sept 2026, 09:00 AM IST
📝*Register Now!:*
https://www.vlrt.in/vr
👥 *Join Community:*
https://www.vlrt.in/cw
💡 *Course Content:*
https://www.vlrt.in/vc
▶️ *Demo Videos:*
https://www.vlrt.in/Vm

Rectangle

# Define a class named 'Rectangle'
class Rectangle:
    """
    A class to represent a rectangle and calculate its area.
    """

    # The constructor method to initialize the object with length and width
    def __init__(self, length, width):
        """
        Initializes a Rectangle object.

        Args:
            length (float): The length of the rectangle.
            width (float): The width of the rectangle.
        """
        self.length = length
        self.width = width

    # A method to calculate the area of the rectangle
    def calculate_area(self):
        """
        Calculates and returns the area of the rectangle.

        Returns:
            float: The area of the rectangle.
        """
        return self.length * self.width

# --- Example Usage ---

# Create an instance (an object) of the Rectangle class
# We'll create a rectangle with a length of 10 and a width of 5
try:
    my_rectangle = Rectangle(10, 5)

    # Call the calculate_area method on our object
    area = my_rectangle.calculate_area()

    # Print the result
    print(f"The area of the rectangle is: {area}")

except Exception as e:
    print(f"An error occurred: {e}")

# You can create another rectangle with different dimensions
try:
    another_rectangle = Rectangle(7.5, 3.2)
    area_2 = another_rectangle.calculate_area()
    print(f"The area of the second rectangle is: {area_2}")

except Exception as e:
    print(f"An error occurred: {e}")





Inheritance in OOP Python: Rectangle & Cuboid Example

Inheritance in object-oriented programming (OOP) allows a new class (the child class) to inherit properties and methods from an existing class (the parent class). This is a powerful concept for code reusability ♻️ and establishing a logical “is-a” relationship between classes. For instance, a Cuboid is a type of Rectangle, so it makes sense for it to inherit from it.


📂 Program Breakdown

In this example, we’ll use a Rectangle class as the parent and a Cuboid class as the child. The Cuboid will inherit everything from Rectangle and add its own specific properties and methods, such as height.

📜 Python Program

Python

# Parent class 🧑‍💻
class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def area(self):
        return self.length * self.width

    def perimeter(self):
        return 2 * (self.length + self.width)

# Child class 👶
class Cuboid(Rectangle):
    def __init__(self, length, width, height):
        # Call the parent class's constructor
        #super().__init__(length, width)
        self.height = height

    def volume(self):
        return self.area() * self.height

    def surface_area(self):
        return 2 * (self.area() + (self.length * self.height) + (self.width * self.height))

# Create an instance of the Cuboid class 📦
cuboid = Cuboid(10, 5, 4)

# Accessing methods from both parent and child classes
print(f"The area of the cuboid's base is: {cuboid.area()}")
print(f"The volume of the cuboid is: {cuboid.volume()}")
print(f"The surface area of the cuboid is: {cuboid.surface_area()}")

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[3], line 30
     27 cuboid = Cuboid(10, 5, 4)
     29 # Accessing methods from both parent and child classes
---> 30 print(f"The area of the cuboid's base is: {cuboid.area()}")
     31 print(f"The volume of the cuboid is: {cuboid.volume()}")
     32 print(f"The surface area of the cuboid is: {cuboid.surface_area()}")

Cell In[3], line 8, in Rectangle.area(self)
      7 def area(self):
----> 8     return self.length * self.width

AttributeError: 'Cuboid' object has no attribute 'length'

🔍 Key Concepts

  • Rectangle Class: This is our parent class. It provides the foundational properties (length, width) and methods (area, perimeter) that the child class can reuse.
  • Cuboid Class: This is our child class, inheriting from Rectangle. The (Rectangle) in the class definition is the key.
  • super().__init__(): This function is a lifesaver! It calls the __init__ method of the parent class, which automatically initializes length and width for us. This saves you from rewriting code ✍️.
  • Method Reusability: The Cuboid class’s volume() method demonstrates a key benefit of inheritance. It calls the parent’s area() method to calculate its volume, saving you from writing the area formula again.

Inheritance allows you to create specialized classes that build upon general ones, promoting clean, organized, and reusable code ✨.

Similar Posts

  • The print() Function in Python

    The print() Function in Python: Complete Guide The print() function is Python’s built-in function for outputting data to the standard output (usually the console). Let’s explore all its arguments and capabilities in detail. Basic Syntax python print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) Arguments Explained 1. *objects (Positional Arguments) The values to print. You can pass multiple items separated by commas. Examples:…

  • binary files

    # Read the original image and write to a new file original_file = open(‘image.jpg’, ‘rb’) # ‘rb’ = read binary copy_file = open(‘image_copy.jpg’, ‘wb’) # ‘wb’ = write binary # Read and write in chunks to handle large files while True: chunk = original_file.read(4096) # Read 4KB at a time if not chunk: break copy_file.write(chunk)…

  • What is PyCharm? Uses, History, and Step-by-Step Installation Guide

    What is PyCharm? PyCharm is a popular Integrated Development Environment (IDE) specifically designed for Python development. It is developed by JetBrains and is widely used by Python developers for its powerful features, ease of use, and support for various Python frameworks and tools. PyCharm is available in two editions: Uses of PyCharm PyCharm is a…

  • How to create Class

    🟥 Rectangle Properties Properties are the nouns that describe a rectangle. They are the characteristics that define a specific rectangle’s dimensions and position. Examples: 📐 Rectangle Methods Methods are the verbs that describe what a rectangle can do or what can be done to it. They are the actions that allow you to calculate information…

  • file properties and methods

    1. file.closed – Is the file door shut? Think of a file like a door. file.closed tells you if the door is open or closed. python # Open the file (open the door) f = open(“test.txt”, “w”) f.write(“Hello!”) print(f.closed) # Output: False (door is open) # Close the file (close the door) f.close() print(f.closed) # Output: True (door is…

Leave a Reply

Your email address will not be published. Required fields are marked *