Skip to content
AgileLogics
4 min read

Inheritance

Prerequisites: Classes and objects

Inheritance lets one class reuse and extend another's behavior, instead of duplicating it.

class User:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return f"Hi, I'm {self.name}"

class Admin(User):
    def delete_user(self, target):
        return f"{self.name} deleted {target}"

admin = Admin("Ada")
print(admin.greet())          # inherited from User
print(admin.delete_user("Bob"))  # defined on Admin itself

Expected output

Hi, I'm Ada
Ada deleted Bob

Admin(User) means "Admin inherits from User" — every Admin instance automatically has everything User defines, plus whatever Admin adds on top.