ভিতরে , আপনার পদ্ধতি লুকানোর সম্ভাবনা সম্পর্কে সতর্কতা অবলম্বন করা উচিত। উপ-শ্রেণিতে একই ধরণের এবং স্বাক্ষর নিয়ে তৈরি একটি পদ্ধতি একটি সুপারক্লাসে ভেরিয়েবলগুলি আড়াল করতে পারে। এই নিবন্ধে, আমরা নিম্নলিখিত পদ্ধতিতে জাভাতে লুকিয়ে থাকা পদ্ধতিটি বুঝতে পারি:
মেথড লুকানো কী?
মেথড লুকানো কার্যকারীভাবে ওভাররাইডের পদ্ধতিগুলির সাথে খুব একই রকম। ওভাররাইডিংয়ে আপনি যদি উপ-শ্রেণিতে একই ধরণের এবং উপ-শ্রেণিতে স্বাক্ষর সহ একটি পদ্ধতি তৈরি করেন তবে এটি উদাহরণের ধরণের ভিত্তিতে পদ্ধতিগুলি কল করার অনুমতি দেয়।
স্থির পদ্ধতিগুলির ক্ষেত্রে একই ধরণের এবংসুপারক্লাস এবং সাব-ক্লাসে স্বাক্ষর, তারপরে সাবক্লাসের পদ্ধতিটি সুপারক্লাসে পদ্ধতিটি আড়াল করে।
জাভা কোড লুকানোর পদ্ধতি
প্যাকেজ com.test ক্লাস পিতামহিক {পাবলিক স্ট্যাটিক শূন্য ফু () {System.out.println ('প্যারেন্ট ক্লাসের ভিতরে foo পদ্ধতি')} পাবলিক শূন্য বার ()। System.out.println ('প্যারেন্ট ক্লাসে বার পদ্ধতি ভিতরে') )}} শ্রেণি শিশু পিতামাতাকে প্রসারিত করে {// পাবলিক স্ট্যাটিক শূন্য ফু লুকিয়ে রাখছে ()। System.out.println ('শিশু শ্রেণির ভিতরে foo পদ্ধতি')} // পাবলিক শূন্য বারকে () r System.out.println (' শিশু শ্রেণিতে বার পদ্ধতি ভিতরে))} class পাবলিক ক্লাস কোড {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {প্যারেন্ট পি = নতুন প্যারেন্ট () প্যারেন্ট সি = নতুন চাইল্ড () System.out.println ('**** ************ পদ্ধতি লুকানো ******************* ') p.foo () // এটি প্যারেন্ট ক্লাসে পদ্ধতি কল করবে .foo () // এটি প্যারেন্ট ক্লাসের পদ্ধতিতে কল করবে System.out.println ('**************** পদ্ধতি ওভাররাইড করছে ************ ******* ') পি.বার () // এটি প্যারেন্ট ক্লাসে পদ্ধতি কল করবে সি.বার () // এটি শিশু শ্রেণিতে পদ্ধতি কল করবে}}
আউটপুট:
উপরেউদাহরণস্বরূপ, উপ-শ্রেণীর শিশুটির স্ট্যাটিক পদ্ধতি foo () একই থাকে এবং সুপার-ক্লাস প্যারেন্টে স্থির পদ্ধতি হিসাবে স্বাক্ষর থাকে। আমরা যখন p.foo () এবং c.foo () কল করি তখন এটি পিতামাত্ত শ্রেণিতে foo () পদ্ধতি কল করে
পদ্ধতির ওভাররাইডিংয়ের বিপরীতে যেখানে পি.বার () প্যারেন্ট ক্লাসে পদ্ধতিটি কল করে এবং সি.বার () পদ্ধতিটিকে শিশু শ্রেণিতে কল করে।
সংকলনের সময় স্থির পদ্ধতিগুলি যেমন সমাধান করা হয় যখন সংকলন প্রথম পিতামাতার ক্লাসটি মেনে নেওয়া হয় এবং তারপরে শিশু শ্রেণি হয়, এবং আমরা পারি নাএকই নামে দুটি স্থিতিশীল পদ্ধতি রয়েছে উভয়ই foo পদ্ধতি পিতামাতার শ্রেণীর foo () পদ্ধতি হিসাবে সমাধান করা হয়।
সারসংক্ষেপ
যদি একটি সাবক্লাসে সুপারক্লাসে স্থির পদ্ধতি হিসাবে একই নাম এবং স্বাক্ষর সহ একটি স্থিতিশীল পদ্ধতি থাকে, তবে সুপার-ক্লাসে পদ্ধতিটি শিশু শ্রেণি বা অভিভাবক শ্রেণি থেকে আহ্বান করা হয়েছে তা নির্বিশেষে কল হবে।
মেথড ওভাররাইডিংয়ের ক্ষেত্রে আমরা প্যারেন্ট ক্লাস থেকে মেথডকে ওভাররাইড করি, অর্থাৎ যদি একটি সাবক্লাসের একটি সুপার-ক্লাসে নন-স্ট্যাটিক পদ্ধতি হিসাবে একই নাম এবং স্বাক্ষরযুক্ত একটি অ স্থিত পদ্ধতি থাকে তবে সংশ্লিষ্ট পদ্ধতিগুলি ব্যবহৃত রেফারেন্সের উপর নির্ভর করে বলা হয়, যদি বস্তু প্যারেন্ট ক্লাস অফ প্যারেন্ট ক্লাসে নন-স্ট্যাটিক মেথড কল করতে ব্যবহৃত হয় তারপরে প্যারেন্ট ক্লাসের পদ্ধতি ব্যবহার করা হয় এবং চাইল্ড ক্লাসের অবজেক্ট যদি চাইল্ড ক্লাসে নন-স্ট্যাটিক পদ্ধতিতে কল করতে হয় তবে চাইল্ড ক্লাস থেকে পদ্ধতি ব্যবহার করা হয়।
কেবলমাত্র তাদের ফেরতের প্রকারের মধ্যে পৃথক ফাংশনগুলি ওভারলোড করা যাবে না
এটির সাথে আমরা জাভা নিবন্ধে এই পদ্ধতিটি লুকিয়ে রেখে শেষ করছি। দেখুন বিশ্বজুড়ে ছড়িয়ে থাকা 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা এডুরেকা দ্বারা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে যারা জাভা ডেভেলপার হতে চান।
আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'জাভাতে লুকিয়ে রাখার পদ্ধতি' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।