উপকাস্টিং এবং ডাউনকাস্টিং:
উপকাস্টিং: ডেরাইভড-ক্লাস থেকে বেস ক্লাস ডাউন কাস্টিংে কাস্টিং: বেস ক্লাস থেকে ডেরিভড ক্লাসে কাস্টিং
আসুন উদাহরণ হিসাবে একই বুঝতে পারি:
নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা হয়েছে আমার পিতামাতা বর্গ হিসাবে শেপ এবং একটি উত্পন্ন শ্রেণি হিসাবে বৃত্ত হিসাবে দুটি শ্রেণি বিবেচনা করুন:
class Shape
{
public int Width { get; set; }
public int Height { get; set; }
}
class Circle : Shape
{
public int Radius { get; set; }
public bool FillColor { get; set; }
}
উজান করা:
শেপ s = নতুন শেপ ();
বৃত্ত সি = গুলি;
সি এবং এস উভয়ই একই মেমোরি অবস্থানের জন্য রেফারেন্স করছে, তবে তাদের উভয়েরই আলাদা আলাদা মতামত রয়েছে যেমন "সি" রেফারেন্স ব্যবহার করে আপনি বেস শ্রেণি এবং প্রাপ্ত বর্গের সমস্ত বৈশিষ্ট্য অ্যাক্সেস করতে পারবেন তবে "গুলি" রেফারেন্স ব্যবহার করে আপনি বৈশিষ্ট্য অ্যাক্সেস করতে পারবেন একমাত্র অভিভাবক শ্রেণীর।
উজান করার একটি বাস্তব উদাহরণ স্ট্রিম বর্গ যা। নেট ফ্রেমওয়ার্কের সমস্ত প্রকারের স্ট্রিম রিডারের বেসক্লাস:
স্ট্রিমরিডার রিডার = নতুন স্ট্রিমরিডার (নতুন ফাইল স্ট্রিমরিডার ());
এখানে, ফাইলস্ট্রিম রিডার () স্ট্র্যাডেম রিডারে আপকাস্ট করা হয়েছে।
ডাউন কাস্টিং:
শেপ s = নতুন সার্কেল (); উপরে বর্ণিত হিসাবে এখানে, পিতামাতা এবং সন্তানের উভয়ের জন্যই এটির দৃষ্টিভঙ্গি একমাত্র পিতামাতা, আমাদের এটি খর্ব করতে হবে
var c = (বৃত্ত) গুলি;
ডাউনকাস্টিংয়ের ব্যবহারিক উদাহরণ হ'ল ডাব্লুপিএফের বোতাম শ্রেণি।
Employee emp= mgr;
যথেষ্ট করা উচিত।