Inheritance (উত্তরণ) এবং Polymorphism (বহু রূপতা) হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর দুটি গুরুত্বপূর্ণ ধারণা। যদিও VBScript একটি সম্পূর্ণ অবজেক্ট-ওরিয়েন্টেড ভাষা নয়, তবে এটি কিছু মৌলিক OOP ধারণা সমর্থন করে, যার মধ্যে Inheritance এবং Polymorphism অন্তর্ভুক্ত। VBScript এর মাধ্যমে আপনি কিছু সিম্পল OOP কনসেপ্ট যেমন ইনহেরিটেন্স এবং পলিমরফিজম ব্যবহার করতে পারেন।
১. Inheritance (উত্তরণ)
Inheritance হল একটি ধারণা যেখানে একটি ক্লাস অন্য একটি ক্লাসের বৈশিষ্ট্য এবং আচরণ (properties and methods) গ্রহণ করে। এটি কোড পুনরায় ব্যবহার (code reusability) এবং কোডের কাঠামো সহজ করার জন্য ব্যবহৃত হয়।
VBScript-এ ক্লাসের মধ্যে ইনহেরিটেন্স সরাসরি সমর্থিত না হলেও, আপনি একটি ক্লাসের অবজেক্ট থেকে অন্য একটি ক্লাসের অবজেক্ট তৈরি করতে পারেন এবং মেথড ব্যবহার করতে পারেন।
উদাহরণ: ইনহেরিটেন্স
' Superclass (Parent Class)
Class Animal
Public Name
Public Sub Speak()
MsgBox "The animal makes a sound."
End Sub
End Class
' Subclass (Child Class) inheriting from Animal
Class Dog
Inherits Animal ' Inherit the properties and methods of Animal
' Overriding the Speak method of the parent class
Public Sub Speak()
MsgBox "The dog barks."
End Sub
End Class
' Creating objects
Dim animal, dog
Set animal = New Animal
Set dog = New Dog
animal.Speak() ' Output: The animal makes a sound.
dog.Speak() ' Output: The dog barks.
এখানে, Dog ক্লাসটি Animal ক্লাস থেকে বৈশিষ্ট্য ও পদ্ধতি গ্রহণ করেছে। তবে, Dog ক্লাসটি Speak() মেথডকে পুনঃসংজ্ঞায়িত (override) করেছে, যা Polymorphism এর একটি উদাহরণ।
২. Polymorphism (বহু রূপতা)
Polymorphism হল এমন একটি ধারণা যেখানে একটি মেথড বা ফাংশন একাধিক রূপে কাজ করতে পারে। সাধারণভাবে, এটি দুইভাবে কাজ করে:
- Method Overloading: একাধিক পদ্ধতি এক নাম দিয়ে তৈরি করা (যদিও VBScript এ এটি সরাসরি সমর্থিত নয়)।
- Method Overriding: সাবক্লাসে প্যারেন্ট ক্লাসের মেথড পরিবর্তন করা।
এটি একটি ক্লাসের পদ্ধতিকে অন্য ক্লাসের ভিতরে পুনঃসংজ্ঞায়িত (override) করার মাধ্যমে কাজ করে।
উদাহরণ: পলিমরফিজম
' Superclass (Parent Class)
Class Animal
Public Sub Speak()
MsgBox "The animal makes a sound."
End Sub
End Class
' Subclass (Child Class) overriding the Speak method
Class Dog
Inherits Animal
Public Sub Speak()
MsgBox "The dog barks."
End Sub
End Class
' Subclass (Child Class) overriding the Speak method
Class Cat
Inherits Animal
Public Sub Speak()
MsgBox "The cat meows."
End Sub
End Class
' Creating objects
Dim animal, dog, cat
Set animal = New Animal
Set dog = New Dog
Set cat = New Cat
animal.Speak() ' Output: The animal makes a sound.
dog.Speak() ' Output: The dog barks.
cat.Speak() ' Output: The cat meows.
এখানে, Dog এবং Cat ক্লাস দুটি Speak() পদ্ধতিটি Animal ক্লাসের পদ্ধতির উপর ভিত্তি করে পুনঃসংজ্ঞায়িত (override) করেছে। এর মাধ্যমে Polymorphism অর্জিত হয়েছে, কারণ এক পদ্ধতি বিভিন্ন রূপে কাজ করছে।
সারাংশ
- Inheritance (উত্তরণ): VBScript-এ ইনহেরিটেন্স সরাসরি সমর্থিত না হলেও, আপনি একটি ক্লাসের বৈশিষ্ট্য এবং পদ্ধতি অন্য ক্লাসে পেতে পারেন এবং তার মধ্যে কোড পুনঃব্যবহার করতে পারেন।
- Polymorphism (বহু রূপতা): VBScript-এ পলিমরফিজম পদ্ধতিতে একাধিক ক্লাসে একই নামের মেথডের উপর ভিত্তি করে বিভিন্ন রূপ পাওয়া যায়। এটি মেথডের পুনঃসংজ্ঞায়ন (override) এর মাধ্যমে অর্জিত হয়।
VBScript-এ ইনহেরিটেন্স এবং পলিমরফিজম ব্যবহার করার মাধ্যমে আপনি কিছু গুরুত্বপূর্ণ OOP ধারণা গ্রহণ করতে পারেন, তবে এটি একটি পূর্ণাঙ্গ OOP ভাষা নয় এবং VBScript এর সীমাবদ্ধতা রয়েছে।
Read more