- Object-Oriented Programming (OOP) in Python
-
Overview
- Introduction to OOP in Python
- Classes and Objects
- Constructors (__init__) and Destructors
- Inheritance (Single, Multiple, Multilevel)
- Polymorphism and Method Overriding
- Encapsulation and Data Hiding
- Abstract Classes and Interfaces
- Static and Class Methods
- Magic/Dunder Methods (__str__, __repr__)
- Metaclasses in Python
- Method Resolution Order (MRO) in Python
Inheritance (Single, Multiple, Multilevel)
Add to BookmarkWhat is Inheritance?
Inheritance is a core concept in Object-Oriented Programming (OOP) that allows a class (child class) to reuse the attributes and methods of another class (parent class). This improves code efficiency and maintains a hierarchical relationship between different classes.
Imagine you are building a website called "Dynamic Duniya", which offers different user roles like Admin, Editor, and Viewer. Instead of defining common features separately for each role, you can create a base User class and allow specific roles to inherit from it.
Types of Inheritance in Python
Python supports several types of inheritance:
- Single Inheritance
- Multiple Inheritance
- Multilevel Inheritance
1. Single Inheritance
In single inheritance, a child class inherits from a single parent class.
Example: "Dynamic Duniya" User Roles
class User: # Parent class
def __init__(self, name):
self.name = name
def show_details(self):
print(f"User: {self.name}")
class Admin(User): # Child class inheriting from User
def access_dashboard(self):
print(f"{self.name} has admin access to Dynamic Duniya!")
# Creating an object of the Admin class
admin1 = Admin("Rajesh Kumar")
admin1.show_details() # Inherited from User class
admin1.access_dashboard() # Defined in Admin classOutput:
User: Rajesh Kumar
Rajesh Kumar has admin access to Dynamic Duniya!The Admin class inherits the show_details() method from the User class.
2. Multiple Inheritance
In multiple inheritance, a child class inherits from more than one parent class.
Example: "Dynamic Duniya" Content Moderation Team
class Editor:
def edit_content(self):
print("Editing content on Dynamic Duniya...")
class Moderator:
def moderate_comments(self):
print("Moderating comments on articles...")
class ContentManager(Editor, Moderator): # Inheriting from both Editor and Moderator
def manage_platform(self):
print("Managing all content on Dynamic Duniya.")
# Creating an object of ContentManager
content_manager = ContentManager()
content_manager.edit_content() # Inherited from Editor
content_manager.moderate_comments() # Inherited from Moderator
content_manager.manage_platform() # Defined in ContentManagerOutput:
Editing content on Dynamic Duniya...
Moderating comments on articles...
Managing all content on Dynamic Duniya.The ContentManager class inherits from both Editor and Moderator, gaining access to their methods.
3. Multilevel Inheritance
In multilevel inheritance, a child class inherits from another child class, forming a chain.
Example: E-commerce System on "Dynamic Duniya"
class Person:
def __init__(self, name):
self.name = name
def show_name(self):
print(f"Name: {self.name}")
class Customer(Person): # Customer inherits from Person
def place_order(self):
print(f"{self.name} placed an order on Dynamic Duniya.")
class PrimeCustomer(Customer): # PrimeCustomer inherits from Customer
def get_prime_discount(self):
print(f"{self.name} received a special Prime discount!")
# Creating an object of PrimeCustomer
customer1 = PrimeCustomer("Neha Sharma")
customer1.show_name() # Inherited from Person
customer1.place_order() # Inherited from Customer
customer1.get_prime_discount() # Defined in PrimeCustomerOutput:
Name: Neha Sharma
Neha Sharma placed an order on Dynamic Duniya.
Neha Sharma received a special Prime discount!The PrimeCustomer class inherits from Customer, which in turn inherits from Person, forming a chain.
Method Overriding in Inheritance
A child class can override a method from the parent class to modify its behavior.
Example: Custom Greetings for Users
class User:
def greet(self):
print("Welcome to Dynamic Duniya!")
class VIPUser(User):
def greet(self): # Overriding the parent method
print("Welcome, valued VIP user of Dynamic Duniya!")
# Creating an object of VIPUser
vip1 = VIPUser()
vip1.greet() # Output: Welcome, valued VIP user of Dynamic Duniya!Output:
Welcome, valued VIP user of Dynamic Duniya!The VIPUser class overrides the greet() method of the User class to provide a personalized greeting.
Summary
Single Inheritance: One parent, one child class.
Multiple Inheritance: A child class inherits from multiple parent classes.
Multilevel Inheritance: A child inherits from another child class.
Method Overriding: The child class redefines a method of the parent class.
Prepare for Interview
- JavaScript Interview Questions for 5+ Years Experience
- JavaScript Interview Questions for 2–5 Years Experience
- JavaScript Interview Questions for 1–2 Years Experience
- JavaScript Interview Questions for 0–1 Year Experience
- JavaScript Interview Questions For Fresher
- SQL Interview Questions for 5+ Years Experience
- SQL Interview Questions for 2–5 Years Experience
- SQL Interview Questions for 1–2 Years Experience
- SQL Interview Questions for 0–1 Year Experience
- SQL Interview Questions for Freshers
- Design Patterns in Python
- Dynamic Programming and Recursion in Python
- Trees and Graphs in Python
- Linked Lists, Stacks, and Queues in Python
- Sorting and Searching in Python
Random Blogs
- Mastering Python in 2025: A Complete Roadmap for Beginners
- What to Do When Your MySQL Table Grows Too Wide
- How to Start Your Career as a DevOps Engineer
- AI is Replacing Search Engines: The Future of Online Search
- Python Challenging Programming Exercises Part 2
- AI Agents: The Future of Automation, Work, and Opportunities in 2025
- Grow your business with Facebook Marketing
- Understanding AI, ML, Data Science, and More: A Beginner's Guide to Choosing Your Career Path
- How Multimodal Generative AI Will Change Content Creation Forever
- Top 10 Blogs of Digital Marketing you Must Follow
- Career Guide: Natural Language Processing (NLP)
- Downlaod Youtube Video in Any Format Using Python Pytube Library
- Deep Learning (DL): The Core of Modern AI
- Google’s Core Update in May 2020: What You Need to Know
- Datasets for analyze in Tableau
Datasets for Machine Learning
- Awesome-ChatGPT-Prompts
- Amazon Product Reviews Dataset
- Ozone Level Detection Dataset
- Bank Transaction Fraud Detection
- YouTube Trending Video Dataset (updated daily)
- Covid-19 Case Surveillance Public Use Dataset
- US Election 2020
- Forest Fires Dataset
- Mobile Robots Dataset
- Safety Helmet Detection
- All Space Missions from 1957
- OSIC Pulmonary Fibrosis Progression Dataset
- Wine Quality Dataset
- Google Audio Dataset
- Iris flower dataset


