কম্পিউটার টিউটোরিয়াল

C#-এ Virtual, Sealed, New, Abstract কীওয়ার্ডের পার্থক্য


Virtual

virtual কীওয়ার্ড একটি ক্লাসকে ওভাররাইড করার অনুমতি দেয়। প্যারেন্ট ক্লাসের মেথড চাইল্ড ক্লাসে ওভাররাইড করতে, প্যারেন্ট ক্লাসের মেথডকে virtual ডিক্লেয়ার করুন।

Sealed

যখন একটি ক্লাস sealed ডিক্লেয়ার করা হয়, তবে সেটি ইনহেরিট করা যায় না, অ্যাবস্ট্র্যাক্ট ক্লাস sealed ডিক্লেয়ার করা যায় না।

ওভাররাইড হওয়া থেকে বাধা দিতে C#-এ sealed ব্যবহার করুন। যখন আপনি C#-এ একটি মেথডে sealed মডিফায়ার ব্যবহার করেন, তবে সেই মেথড ওভাররাইড করার ক্ষমতা হারায়। sealed মেথড অবশ্যই একটি ডেরাইভড ক্লাসের অংশ হতে হবে এবং মেথডটি অবশ্যই ওভাররাইড করা থাকতে হবে।

public sealed override void getResult() { }

New

বেস ক্লাসের মেথড চাইল্ড ক্লাস থেকে হাইড (hide) করতে new কীওয়ার্ড ব্যবহার করুন। এটি ডেরাইভড ক্লাস ফাংশনকে new দিয়ে ডিক্লেয়ার করে করা হয়। এটি শ্যাডোইং (Shadowing)-এ new এর ব্যবহার।

public new string getResult()

Abstract

অ্যাবস্ট্র্যাক্ট ক্লাসে অ্যাবস্ট্র্যাক্ট মেথড থাকে, যেগুলো ডেরাইভড ক্লাসে ইমপ্লিমেন্ট করা হয়।

abstract class Vehicle

  1. C#-এ অ্যাবস্ট্র্যাক্ট ক্লাস

  2. জাভাতে অ্যাবস্ট্রাক্ট ক্লাস

  3. পাইথনে classmethod() ডেকোরেটর

  4. পাইথনে ক্লাস মেথড বনাম স্ট্যাটিক মেথড