πΉ What is Method Overriding?
Method Overriding means:
A child class (subclass) writes its own version of a method that already exists in the parent class (superclass).
- It helps the child class change or improve the behavior of a parent method.
- The method name must be same in both classes.
πΈ Real-Life Example:
Imagine a general printer prints in black & white. But a color printer overrides that function and prints in color.
πΉ Basic Example of Method Overriding:
class Animal:
def speak(self):
print("Animal speaks")
class Dog(Animal):
def speak(self): # Overriding the parent's method
print("Dog barks")
d = Dog()
d.speak() # Output: Dog barks
β
Dog class has its own version of the speak() method.
πΉ Why Use Method Overriding?
β
To customize behavior
β
To add extra work in child class
β
To make code flexible and clean
πΉ Calling Parent Method Using super()
Sometimes we want to call the original (parent) method also:
class Animal:
def speak(self):
print("Animal speaks")
class Dog(Animal):
def speak(self):
super().speak() # Call parent method
print("Dog barks")
d = Dog()
d.speak()
π’ Output:
Animal speaks
Dog barks
πΉ Another Example: Bank Account
class Account:
def show_balance(self):
print("Balance is $1000")
class SavingsAccount(Account):
def show_balance(self):
print("Savings balance is $1500")
a = SavingsAccount()
a.show_balance()
π Practice Questions with Answers
β Q1: Create a class Shape with a method draw(). Override it in Circle and Square.
β Answer:
class Shape:
def draw(self):
print("Drawing a shape")
class Circle(Shape):
def draw(self):
print("Drawing a circle")
class Square(Shape):
def draw(self):
print("Drawing a square")
c = Circle()
s = Square()
c.draw()
s.draw()
β Q2: Create a class Employee with method work(). Override it in Manager and Developer.
β Answer:
class Employee:
def work(self):
print("Employee works")
class Manager(Employee):
def work(self):
print("Manager manages the team")
class Developer(Employee):
def work(self):
print("Developer writes code")
m = Manager()
d = Developer()
m.work()
d.work()
π§Ύ Summary
| Term | Meaning |
|---|---|
| Overriding | Child class redefines parent method |
| Method Name | Must be the same in both classes |
Use of super() | To call the parent class method from child |
π― Quick Recap
- Method Overriding = Changing a parent method in the child class.
- Useful when child class needs a different behavior.
super()helps to use parentβs method with the new one.

Leave a Reply