উত্তরাধিকার দুটি শ্রেণীর মধ্যে একটি সম্পর্ক যেখানে একটি শ্রেণী অন্য শ্রেণীর বৈশিষ্ট্যের উত্তরাধিকারী হয়। এই সম্পর্কটিকে −
হিসাবে extensions কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত করা যেতে পারেপাবলিক ক্লাস A B{
প্রসারিত করে }
যে শ্রেণীর বৈশিষ্ট্যগুলি উত্তরাধিকারসূত্রে পাওয়া যায় সেটিকে সাব ক্লাস বা চাইল্ড ক্লাস বলা হয় এবং যে শ্রেণীটির বৈশিষ্ট্যগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয় সেটি হল সুপার ক্লাস বা, প্যারেন্ট ক্লাস।
উত্তরাধিকার সূত্রে সুপার ক্লাস সদস্যদের একটি অনুলিপি সাব ক্লাস অবজেক্টে তৈরি করা হয়। অতএব, সাব ক্লাস অবজেক্ট ব্যবহার করে আপনি উভয় শ্রেণীর সদস্যদের অ্যাক্সেস করতে পারবেন।
একটি সুপার ক্লাস রেফারেন্স ভেরিয়েবলকে একটি সাব ক্লাস টাইপে রূপান্তর করা
আপনি কেবল কাস্ট অপারেটর ব্যবহার করে সুপার ক্লাস ভেরিয়েবলটিকে সাব ক্লাস টাইপে রূপান্তর করার চেষ্টা করতে পারেন। কিন্তু, প্রথমে আপনাকে সাব ক্লাস অবজেক্ট ব্যবহার করে সুপার ক্লাস রেফারেন্স তৈরি করতে হবে এবং তারপর, কাস্ট অপারেটর ব্যবহার করে এই (সুপার) রেফারেন্স টাইপটিকে সাব ক্লাস টাইপে রূপান্তর করতে হবে।
উদাহরণ
শ্রেণীর ব্যক্তি{ সর্বজনীন স্ট্রিং নাম; পাবলিক int বয়স; সর্বজনীন ব্যক্তি (স্ট্রিং নাম, int বয়স){ this.name =name; this.age =বয়স; } সর্বজনীন শূন্য displayPerson() { System.out.println("ব্যক্তি শ্রেণীর ডেটা:"); System.out.println("নাম:"+this.name); System.out.println("বয়স:"+this.age); }}পাবলিক ক্লাস নমুনা ব্যক্তিকে প্রসারিত করে { পাবলিক স্ট্রিং শাখা; public int Student_id; সর্বজনীন নমুনা (স্ট্রিং নাম, int বয়স, স্ট্রিং শাখা, int Student_id){ super(নাম, বয়স); this.branch =শাখা; this.Student_id =Student_id; } সর্বজনীন অকার্যকর প্রদর্শন স্টুডেন্ট() { System.out.println("ছাত্র শ্রেণীর ডেটা:"); System.out.println("নাম:"+super.name); System.out.println("বয়স:"+super.age); System.out.println("শাখা:"+this.branch); System.out.println("ছাত্র আইডি:"+this.Student_id); } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { ব্যক্তি ব্যক্তি =নতুন নমুনা("কৃষ্ণ", 20, "IT", 1256); //সুপার ক্লাস ভেরিয়েবলকে সাব ক্লাস টাইপে রূপান্তর করা Sample obj =(নমুনা) ব্যক্তি; obj.displayPerson(); obj.displayStudent(); }}
আউটপুট
ব্যক্তি শ্রেণির ডেটা:নাম:কৃষ্ণ বয়স:20 ছাত্র শ্রেণির ডেটা:নাম:কৃষ্ণ বয়স:20 শাখা:ITS ছাত্র আইডি:1256
উদাহরণ
<প্রি>ক্লাস সুপার{ পাবলিক সুপার(){ System.out.println("সুপার ক্লাসের কনস্ট্রাক্টর"); } public void superMethod() { System.out.println("সুপার ক্লাসের পদ্ধতি"); }}পাবলিক ক্লাস টেস্ট সুপার { পাবলিক টেস্ট(){ System.out.println("সাব ক্লাসের কনস্ট্রাক্টর") প্রসারিত করে; } পাবলিক ভ্যাইড সাব মেথড() { System.out.println("সাব ক্লাসের পদ্ধতি"); } পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { সুপার সাপ =নতুন টেস্ট(); //সুপার ক্লাস ভেরিয়েবলকে সাব ক্লাস টাইপে রূপান্তর করা Test obj =(Test) sup; obj.superMethod(); obj.subMethod(); }}আউটপুট
সাব ক্লাসের কনস্ট্রাক্টর সুপার ক্লাসের মেথড সাব ক্লাসের মেথড