1. Home
  2. Docs
  3. OOP
  4. Method Overriding

Method Overriding

Method Overriding কি?

সাধারণত যখন একটা child class তৈরী হয়, তখন সেটি তার parent class এর সব Property এবং Method গুলোকে Inherit করে নিয়ে আসে।কিন্তু কখনো কখনো আমাদেরকে Parent Class এর যেকোনো Method কে Child Class এ নতুন করে লেখার দরকার হয় । এটা সাধারণত তখনই দরকার হয় , যখন দেখা যায়, Parent Class এর Method টি child class এর সব পারপাস পূরণ করতে পারছেনা। অর্থাৎ, আরো কিছু feature add করার দরকার হয়।Object Oriented Programming এর পরিভাষায় এটাকে বলা হয় Method Overriding .

class Vichlee:
    brand= 'Toyota'
    def welcome(self):
     return ' Welcome To Toyota'

class Car(Vichlee):
    
    def welcome(self,name):
     print(super().welcome(), 'MR:', name)
    
car = Car()
car.welcome('olee')

# ==== Output ====
 Welcome To Toyota MR: olee

আমরা প্রথম ক্লাসে welcome মেথডে শুধু ‘welcome to Toyota ‘ দেখাতে বলেছিলাম কিন্তু আমরা চাচ্ছিলাম আমাদের Car ক্লাসের welcome মেথড কল করলে ‘welcome to Toyota ‘ এর সাথে একটি নাম শো করবে যা আমরা আমাদের আমাদের Car ক্লাসের welcome মেথড এ name প্যারামিটার হিসাবে দেব এজন্য আমরা মেথডটি ওভার রাইট করি

সম্পূর্ণ ওভার রাইট

আমরা চাচ্ছি আমাদের চাইল্ড ক্লাসের মেথডটি প্যারেন্ট ক্লাসের মেথডের কোনো কিছু নেবে না সম্পূর্ণ নতুন মেথড আউটপুট হবে

class Vichlee:
    brand= 'Toyota'
    def welcome(self):
     return ' Welcome To Toyota'

class Car(Vichlee):
    
    def welcome(self,name):
     print( 'MR:', name)
    
car = Car()
car.welcome('olee')

How can we help?