Method Overriding এবং Super Constructor

Inheritance (ইনহেরিটেন্স) - ডার্ট প্রোগ্রামিং (Dart Programming) - Computer Programming

345

Method Overriding এবং Super Constructor হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের (OOP) দুটি গুরুত্বপূর্ণ ধারণা। এগুলি ইনহেরিটেন্সের সাথে যুক্ত এবং একটি সাব ক্লাসকে সুপার ক্লাসের বৈশিষ্ট্য ও আচরণ পরিবর্তন করার সুযোগ দেয়। নিচে বিস্তারিত আলোচনা করা হলো।

1. Method Overriding

Method Overriding হল একটি প্রক্রিয়া যেখানে সাব ক্লাসে সুপার ক্লাসের একটি মেথডের পুনরায় সংজ্ঞায়িত করা হয়। এটি পলিমরফিজমের একটি উদাহরণ এবং এটি সাব ক্লাসের নির্দিষ্ট আচরণ তৈরি করতে ব্যবহৃত হয়।

উদাহরণ:

class Animal {
 void speak() {
   print("Animal makes a sound.");
 }
}
class Dog extends Animal {
 @override
 void speak() {
   print("Dog barks."); // Overriding the speak method
 }
}
class Cat extends Animal {
 @override
 void speak() {
   print("Cat meows."); // Overriding the speak method
 }
}
void main() {
 Animal myDog = Dog();
 Animal myCat = Cat();
 myDog.speak(); // Output: Dog barks.
 myCat.speak(); // Output: Cat meows.
}

2. Super Constructor

Super Constructor হল একটি মেথড যা সাব ক্লাসের কনস্ট্রাক্টরে সুপার ক্লাসের কনস্ট্রাক্টরকে কল করার জন্য ব্যবহৃত হয়। এটি ইনহেরিটেড বৈশিষ্ট্যগুলির প্রাথমিক মান সেট করতে সাহায্য করে।

উদাহরণ:

class Animal {
 String name;
 // Super constructor
 Animal(this.name); // Constructor with a parameter
 void displayInfo() {
   print("Animal Name: $name");
 }
}
class Dog extends Animal {
 // Subclass constructor
 Dog(String name) : super(name); // Calling the super constructor
 void bark() {
   print("$name barks.");
 }
}
void main() {
 Dog myDog = Dog('Buddy'); // Creating an instance of Dog
 myDog.displayInfo(); // Output: Animal Name: Buddy
 myDog.bark(); // Output: Buddy barks.
}

Combining Method Overriding and Super Constructor

উদাহরণ:

class Animal {
 String name;
 Animal(this.name); // Super constructor
 void speak() {
   print("$name makes a sound.");
 }
}
class Dog extends Animal {
 Dog(String name) : super(name); // Calling the super constructor
 @override
 void speak() {
   print("$name barks."); // Overriding the speak method
 }
}
class Cat extends Animal {
 Cat(String name) : super(name); // Calling the super constructor
 @override
 void speak() {
   print("$name meows."); // Overriding the speak method
 }
}
void main() {
 Animal myDog = Dog('Buddy');
 Animal myCat = Cat('Whiskers');
 myDog.speak(); // Output: Buddy barks.
 myCat.speak(); // Output: Whiskers meows.
}
Content added By
Promotion

Are you sure to start over?

Loading...