জাভাতে, ' প্রসারিত ' এবং ' প্রয়োগ করে ' কীওয়ার্ডগুলি কার্যকরভাবে একাধিক কার্যকারিতা একত্রিত করার জন্য গুরুত্বপূর্ণ। উদাহরণস্বরূপ, তাদের আপডেট করার জন্য ইতিমধ্যে বরাদ্দকৃত কার্যকারিতাগুলিকে উত্তরাধিকারসূত্রে পাওয়া বা যথাক্রমে উপযুক্ত পদ্ধতিতে ডেটা বাছাই করা। এই ধরনের ক্ষেত্রে, 'প্রসারিত' এবং 'ইমপ্লিমেন্টস' কীওয়ার্ডগুলি বিকাশকারীর প্রান্তে জিনিসগুলিকে সুবিধাজনক করতে এবং দক্ষতার সাথে সংস্থানগুলি পরিচালনা করতে সহায়ক।
এই ব্লগটি জাভা 'এক্সটেন্ডস' এবং 'ইমপ্লিমেন্টস' এর মধ্যে পার্থক্য তুলে ধরবে।
জাভা 'প্রসারিত' কীওয়ার্ড
জাভা ' প্রসারিত ' কীওয়ার্ড একটি শিশু শ্রেণীর দ্বারা ব্যবহার করা হয়, যেমন, ' উদ্ভূত 'অর্থাৎ অভিভাবক শ্রেণীর উত্তরাধিকারী হওয়ার জন্য, ' ভিত্তি 'এর কার্যকারিতা অ্যাক্সেস করে।
বাক্য গঠন
শ্রেণীকক্ষে {
// শরীর
}
B শ্রেণী A প্রসারিত করে {
// শরীর
}
এই সিনট্যাক্সে, ' খ 'বাবামা শ্রেণীর উত্তরাধিকারী শিশু শ্রেণীর সাথে মিলে যায়' ক 'এর মাধ্যমে' প্রসারিত ' কীওয়ার্ড।
উদাহরণ 1: জাভাতে 'প্রসারিত' কীওয়ার্ড ব্যবহার করা
এই উদাহরণটি ব্যবহার করে ' প্রসারিত পিতামাতার উত্তরাধিকারী হওয়ার মূলশব্দ অর্থাৎ, ' ভিত্তি 'শ্রেণী:
ক্লাস প্যারেন্টক্লাস {স্ট্রিং x = 'চুল' ;
}
ক্লাস চাইল্ডক্লাস প্যারেন্টক্লাসকে প্রসারিত করে {
পাবলিক স্ট্রিং কনক্যাট ( ) {
প্রত্যাবর্তন x.concat ( 'রাই' ) ;
} }
পাবলিক ক্লাস প্রসারিত {
পাবলিক স্ট্যাটিক অকার্যকর প্রধান ( স্ট্রিং আর্গস [ ] ) {
চাইল্ডক্লাস অবজেক্ট = নতুন চাইল্ডক্লাস ( ) ;
System.out.println ( object.concat ( ) ) ;
} }
উপরের কোড স্নিপেট অনুযায়ী, নিম্নলিখিত পদক্ষেপগুলি প্রয়োগ করুন:
- প্রথমত, 'নামক একটি অভিভাবক শ্রেণী ঘোষণা করুন প্যারেন্টক্লাস ”
- এর সংজ্ঞায়, বিবৃত পরিবর্তনশীলটি শুরু করুন।
- এখন, 'এর মাধ্যমে পিতামাতার শ্রেণী থেকে একটি শিশু শ্রেণীর উত্তরাধিকারী হন প্রসারিত ' কীওয়ার্ড।
- শিশু শ্রেণীর সংজ্ঞায়, 'নামক একটি ফাংশন সংজ্ঞায়িত করুন concat() ”
- ফাংশনের সংজ্ঞায়, প্যারেন্ট ক্লাস থেকে ভেরিয়েবলটি আনুন এবং সংশ্লিষ্ট “এর মাধ্যমে বর্ণিত স্ট্রিংটি যুক্ত করুন concat() 'পদ্ধতি।
- মধ্যে ' প্রধান() ' পদ্ধতি, ' ব্যবহার করে একটি চাইল্ড ক্লাস অবজেক্ট তৈরি করুন নতুন ' কীওয়ার্ড এবং ' শিশুশ্রেণী() 'নির্মাতা।
- সবশেষে, চাইল্ড ক্লাস ফাংশন চালু করুন ' concat() ” তৈরি করা বস্তুর মাধ্যমে।
আউটপুট
এই আউটপুটে, এটি কল্পনা করা যেতে পারে যে অভিভাবক শ্রেণীর কার্যকারিতা অর্থাৎ, “ পরিবর্তনশীল(x) ” সঠিকভাবে উত্তরাধিকারসূত্রে পাওয়া যায় “এক্সটেন্ডস” কীওয়ার্ডের মাধ্যমে এবং তাই স্ট্রিংটি সেই অনুযায়ী সংযুক্ত করা হয়।
জাভা 'বাস্তবায়ন করে' কীওয়ার্ড
দ্য ' প্রয়োগ করে ” কীওয়ার্ডটি একই বা একটি বহিরাগত ফাইল থেকে ক্লাসে একটি ইন্টারফেস বাস্তবায়নের জন্য প্রয়োগ করা হয়।
বাক্য গঠন
পাবলিক ইন্টারফেস ইন্টারফেস নাম {অকার্যকর x ( ) ;
ডিফল্ট অকার্যকর y ( ) {
// শরীর
}
}
ক্লাস z ইন্টারফেসনাম প্রয়োগ করে {
// শ্রেণীর শরীর
}
এই সিনট্যাক্সে:
- ' এক্স ” একটি বিমূর্ত পদ্ধতি বোঝায়।
- ' এবং ” ডিফল্ট পদ্ধতি নির্দেশ করে।
- ' ক্লাস z ' যে শ্রেণীর সাথে মিলিত হয় ' ইন্টারফেসের নাম 'এর মাধ্যমে ইন্টারফেস' প্রয়োগ করে ' কীওয়ার্ড।
উদাহরণ 2: জাভাতে 'ইমপ্লিমেন্টস' কীওয়ার্ড ব্যবহার করা
এই বিশেষ উদাহরণে, একটি ইন্টারফেস সমন্বিত ' বিমূর্ত ' এবং ' ডিফল্ট 'পদ্ধতিগুলি ক্লাসে প্রয়োগ করা যেতে পারে।
ইন্টারফেস কোড
পাবলিক ইন্টারফেস বয়স {সর্বজনীন অকার্যকর নাম ( ) ;
ডিফল্ট অকার্যকর DOB ( ) {
System.out.println ( 'DOB -> 28/8/1999' ) ;
} }
উপরের ইন্টারফেস কোডে, 'নামক একটি বিমূর্ত পদ্ধতি অন্তর্ভুক্ত করুন নাম() 'এবং ডিফল্ট পদ্ধতি সংজ্ঞায়িত করুন' DOB() ” যথাক্রমে বর্ণিত বার্তা প্রিন্ট করা।
ক্লাস কোড
এখন, কোডের নিম্নলিখিত লাইনগুলিতে এগিয়ে যান:
বর্গ নমুনা বয়স প্রয়োগ করে {সর্বজনীন অকার্যকর নাম ( ) {
System.out.println ( 'নাম -> ডেভিড' ) ;
} }
পাবলিক ক্লাস ইন্টারফেস2 {
পাবলিক স্ট্যাটিক অকার্যকর প্রধান ( স্ট্রিং আর্গস [ ] ) {
নমুনা বস্তু = নতুন নমুনা ( ) ;
বস্তুর নাম ( ) ;
বস্তু.DOB ( ) ;
} }
এই কোড ব্লকে:
- 'নামক একটি ক্লাস সংজ্ঞায়িত করুন নমুনা 'ইন্টারফেস বাস্তবায়ন' বয়স 'এর মাধ্যমে' প্রয়োগ করে ' কীওয়ার্ড।
- এর (শ্রেণী) সংজ্ঞায়, বিমূর্ত পদ্ধতি সংজ্ঞায়িত করুন ' নাম() ” ইন্টারফেসে উল্লেখিত নামটি প্রদর্শন করে।
- মধ্যে ' প্রধান() ” পদ্ধতি, আলোচিত পদ্ধতির মাধ্যমে একটি ক্লাস অবজেক্ট তৈরি করুন।
- অবশেষে, তৈরি করা বস্তু ব্যবহার করে যথাক্রমে বিমূর্ত এবং ডিফল্ট পদ্ধতি ব্যবহার করুন।
আউটপুট
এই ফলাফলটি বোঝায় যে ডিফল্ট পদ্ধতিটি চালু করা হয়েছে এবং বাস্তবায়িত ইন্টারফেসের উপর ভিত্তি করে বিমূর্ত পদ্ধতিটি যথাযথভাবে প্রয়োগ করা হয়েছে।
জাভাতে 'প্রসারিত' এবং 'বাস্তবায়ন' এর মধ্যে মূল পার্থক্য
জাভাতে 'এক্সটেন্ডস' এবং 'ইমপ্লিমেন্টস' কীওয়ার্ডের মধ্যে কিছু মূল পার্থক্য নিচে দেওয়া হল:
প্রসারিত | প্রয়োগ করে |
এই কীওয়ার্ডটি একটি শ্রেণী দ্বারা তার পিতামাতার শ্রেণী বা একটি ইন্টারফেস অন্যান্য ইন্টারফেসের উত্তরাধিকারী হতে ব্যবহার করা যেতে পারে। | একটি ক্লাস 'ইমপ্লিমেন্টস' কীওয়ার্ডের মাধ্যমে ইন্টারফেস বাস্তবায়ন করতে পারে। |
একটি শ্রেণী দ্বারা শুধুমাত্র একটি অভিভাবক শ্রেণী বাড়ানো যেতে পারে। | একটি ক্লাস এক সময়ে একাধিক ইন্টারফেস বাস্তবায়ন/প্রয়োগ করতে পারে। |
একটি শিশু শ্রেণীর জন্য এটি বাধ্যতামূলক নয় যেটি একটি অভিভাবক শ্রেণিকে প্রসারিত করে একটি অভিভাবক শ্রেণীর সমস্ত পদ্ধতি ওভাররাইড করতে৷ | এটি বাধ্যতামূলক যে একটি ইন্টারফেস বাস্তবায়নকারী একটি ক্লাসকে সমস্ত ইন্টারফেস পদ্ধতিগুলিকেও প্রয়োগ/প্রয়োগ করতে হবে। |
উপসংহার
দ্য ' প্রসারিত ' কীওয়ার্ড একটি ক্লাস বা একটি ইন্টারফেস দ্বারা তার পিতামাতার শ্রেণী বা অন্যান্য ইন্টারফেসের উত্তরাধিকারী হতে ব্যবহার করা যেতে পারে, যেখানে ' প্রয়োগ করে ” কীওয়ার্ড একটি ইন্টারফেস বাস্তবায়নের জন্য একটি ক্লাস দ্বারা ব্যবহৃত হয়। এই ব্লগটি ব্যবহারিক উদাহরণের সাহায্যে জাভাতে 'প্রসারিত' এবং 'বাস্তবায়ন' এর মধ্যে পার্থক্য প্রদর্শন করেছে।