Skip to main content

Inheritance in Python

let's dive into inheritance in Python, step by step.

What is Inheritance?

Inheritance is a fundamental concept in OOP that allows a class (called a child or derived class) to inherit attributes and methods from another class (called a parent or base class). This helps promote code reuse and can make your programs easier to manage and extend.

 Key Points of Inheritance:

1. **Parent Class (Base Class)**: The class whose attributes and methods are inherited.

2. **Child Class (Derived Class)**: The class that inherits from the parent class.

Why Use Inheritance?

- **Code Reusability**: Reuse existing code without rewriting it.

- **Maintainability**: Easier to manage and update code.

- **Extensibility**: Add new features to existing classes.

Basic Example of Inheritance

Let’s look at a simple example to understand inheritance better.

Step 1: Define a Parent Class

```

class Animal:

    def __init__(self, name):

        self.name = name


    def eat(self):

        print(f"{self.name} is eating.")

```

In this example:

- We have a class `Animal` with an initializer method (`__init__`) that sets the `name` attribute.

- We also have a method `eat` that prints a message.

Step 2: Define a Child Class

```

class Dog(Animal):

    def bark(self):

        print(f"{self.name} says Woof!")

```

In this example:

- The class `Dog` inherits from `Animal` (we indicate this by passing `Animal` in parentheses).

- The `Dog` class adds a new method `bark` but doesn’t need to redefine the `eat` method or the `__init__` method for the `name` attribute because it inherits these from `Animal`.

Step 3: Create an Object of the Child Class

```

my_dog = Dog("Buddy")

my_dog.eat()  # Inherited from Animal

my_dog.bark()  # Defined in Dog

```

Here, `my_dog` is an instance of the `Dog` class. It can use both the `eat` method (inherited from `Animal`) and the `bark` method (defined in `Dog`).


Super() Function

If the child class wants to extend or modify the behavior of the parent class's methods, it can use the `super()` function to call the parent class's methods.

```

class Dog(Animal):

    def __init__(self, name, breed):

        super().__init__(name)

        self.breed = breed


    def bark(self):

        print(f"{self.name}, the {self.breed}, says Woof!")

```

In this example:

- The `Dog` class has its own `__init__` method, which calls the `__init__` method of the `Animal` class using `super()`.

- This ensures that the `name` attribute is set correctly in the parent class, and then the `breed` attribute is set in the `Dog` class.

Method Overriding

A child class can provide a specific implementation of a method that is already defined in its parent class. This is called method overriding.

```

class Cat(Animal):

    def eat(self):

        print(f"{self.name} is eating cat food.")


my_cat = Cat("Whiskers")

my_cat.eat()  # Output: Whiskers is eating cat food.

```

In this example:

- The `Cat` class overrides the `eat` method of the `Animal` class to provide its specific implementation.

Summary

- **Inheritance** allows a child class to reuse the attributes and methods of a parent class.

- **super()** helps in extending the functionality of inherited methods.

- **Method Overriding** allows a child class to provide a specific implementation of a method that is already defined in its parent class.

Inheritance helps in organizing code better and reducing redundancy, making it easier to maintain and extend.

Comments

Popular posts from this blog

Transforming Workflows with CrewAI: Harnessing the Power of Multi-Agent Collaboration for Smarter Automation

 CrewAI is a framework designed to implement the multi-agent concept effectively. It helps create, manage, and coordinate multiple AI agents to work together on complex tasks. CrewAI simplifies the process of defining roles, assigning tasks, and ensuring collaboration among agents.  How CrewAI Fits into the Multi-Agent Concept 1. Agent Creation:    - In CrewAI, each AI agent is like a specialist with a specific role, goal, and expertise.    - Example: One agent focuses on market research, another designs strategies, and a third plans marketing campaigns. 2. Task Assignment:    - You define tasks for each agent. Tasks can be simple (e.g., answering questions) or complex (e.g., analyzing large datasets).    - CrewAI ensures each agent knows what to do based on its defined role. 3. Collaboration:    - Agents in CrewAI can communicate and share results to solve a big problem. For example, one agent's output becomes the input for an...

Optimizing LLM Queries for CSV Files to Minimize Token Usage: A Beginner's Guide

When working with large CSV files and querying them using a Language Model (LLM), optimizing your approach to minimize token usage is crucial. This helps reduce costs, improve performance, and make your system more efficient. Here’s a beginner-friendly guide to help you understand how to achieve this. What Are Tokens, and Why Do They Matter? Tokens are the building blocks of text that LLMs process. A single word like "cat" or punctuation like "." counts as a token. Longer texts mean more tokens, which can lead to higher costs and slower query responses. By optimizing how you query CSV data, you can significantly reduce token usage. Key Strategies to Optimize LLM Queries for CSV Files 1. Preprocess and Filter Data Before sending data to the LLM, filter and preprocess it to retrieve only the relevant rows and columns. This minimizes the size of the input text. How to Do It: Use Python or database tools to preprocess the CSV file. Filter for only the rows an...

Artificial Intelligence (AI) beyond the realms of Machine Learning (ML) and Deep Learning (DL).

AI (Artificial Intelligence) : Definition : AI encompasses technologies that enable machines to mimic cognitive functions associated with human intelligence. Examples : 🗣️  Natural Language Processing (NLP) : AI systems that understand and generate human language. Think of chatbots, virtual assistants (like Siri or Alexa), and language translation tools. 👀  Computer Vision : AI models that interpret visual information from images or videos. Applications include facial recognition, object detection, and self-driving cars. 🎮  Game Playing AI : Systems that play games like chess, Go, or video games using strategic decision-making. 🤖  Robotics : AI-powered robots that can perform tasks autonomously, such as assembly line work or exploring hazardous environments. Rule-Based Systems : Definition : These are AI systems that operate based on predefined rules or logic. Examples : 🚦  Traffic Light Control : Rule-based algorithms manage traffic lights by following fix...