'উৎস' (Super) কিউওয়ার্ড
উৎস হলো যুক্তির একটি বিশেষ কিউওয়ার্ড যা দিয়ে সন্তান ক্লাস তার পিতা ক্লাসের কাজ বা মেথডকে ডাক দিতে পারে। যখন কোনো সন্তান ক্লাস তার পিতার কাজকে নিজের মতো করে বদলে ফেলে (Overriding), তখন পিতার মূল কাজটি করার জন্য এই 'উৎস' কিউওয়ার্ডটি ব্যবহার করা হয়।
সন্তান ক্লাসের অবজেক্ট তৈরির সময় যদি পিতার শুরু() মেথডটি চালু করতে চান, তবে উৎস.শুরু() ব্যবহার করুন।
১. পিতা ক্লাসের কনস্ট্রাক্টর কল করা
নিচে একটি বাবা ও ছেলের ক্লাসের মাধ্যমে এটি দেখানো হলো।
ক্লাস বাবা {
শুরু() {
দেখাও "বাবার দোয়া সাথে আছে।";
নতুনলাইন;
}
}
ক্লাস ছেলে মতো বাবা {
শুরু() {
উৎস.শুরু(); // বাবার শুরু() মেথড কল হলো
দেখাও "ছেলের কাজ শুরু হলো।";
}
}
২. নির্দিষ্ট পিতাকে ডাক দেওয়া
যদি একটি ক্লাস একাধিক ক্লাস থেকে উত্তরাধিকার পায়, তবে থার্ড ব্র্যাকেট [] ব্যবহার করে নির্দিষ্ট ক্লাসের মেথডকে ডাকা যায়। এটি যুক্তির একটি অত্যন্ত উন্নত ফিচার।
ক্লাস সন্তান মতো বাবা, মা {
পরিচয়() {
উৎস[বাবা].পরিচয়(); // শুধু বাবার পরিচয় কল হবে
উৎস[মা].পরিচয়(); // শুধু মায়ের পরিচয় কল হবে
}
}
৩. কেন 'উৎস' ব্যবহার করবেন?
১. কোড পুনর্ব্যবহার: পিতার কোডটি আবার না লিখে সরাসরি ব্যবহার করা যায়।
২. লজিক চেইনিং: পিতার মূল লজিকটি রেখে সাথে নতুন কিছু যোগ করা যায়।
৪. ইন-ডেপথ উদাহরণ: গেমিং সুপারপাওয়ার
একটি সাধারণ যোদ্ধা থেকে সুপার হিরো তৈরির লজিক:
ক্লাস যোদ্ধা {
আক্রমণ() { দেখাও "যোদ্ধা আক্রমণ করছে!"; }
}
ক্লাস সুপারহিরো মতো যোদ্ধা {
আক্রমণ() {
উৎস.আক্রমণ();
দেখাও "সাথে লেজার বিম মারছে!";
}
}