থিলো আপনার প্রথম প্রশ্নের "এটি কীভাবে সম্ভব?" এর জন্য একটি ভাল উত্তর যুক্ত করেছে। দ্বিতীয় জিজ্ঞাসিত প্রশ্নটির বিষয়ে আমি কিছুটা বিশদভাবে জানাতে চাই: কেন এই আচরণের অনুমতি দেওয়া হচ্ছে?
প্রারম্ভিকদের জন্য, আসুন পুরোপুরি স্পষ্ট হওয়া উচিত যে এই আচরণটি কেবল অভ্যন্তর শ্রেণীর মধ্যেই সীমাবদ্ধ নয়, যা সংজ্ঞা অনুসারে অ-স্থিত নেস্টেড প্রকারের। এই আচরণটি নেস্টেড এনামস এবং ইন্টারফেসগুলি সহ সমস্ত নেস্টেড ধরণের জন্য অনুমোদিত যা অবশ্যই স্থির থাকতে হবে এবং এতে কোনও ঘেরের উদাহরণ থাকতে পারে না। মূলত, মডেলটি নিম্নলিখিত বিবৃতিটির সরলকরণ: নেস্টেড কোডের এনকোলেসিং কোডে সম্পূর্ণ অ্যাক্সেস রয়েছে - এবং তদ্বিপরীত।
তো, তাহলে কেন? আমি মনে করি একটি উদাহরণ পয়েন্টটি আরও ভালভাবে বর্ণনা করে।
আপনার শরীর এবং আপনার মস্তিষ্কের কথা চিন্তা করুন। আপনি যদি আপনার বাহুতে হেরোইন ইনজেকশন করেন তবে আপনার মস্তিষ্ক উচ্চ হয়ে যায়। যদি আপনার মস্তিষ্কের অ্যামিগডালা অঞ্চলটি দেখতে পান যে তিনি কী বিশ্বাস করেন যা আপনার ব্যক্তিগত সুরক্ষার জন্য হুমকি, উদাহরণস্বরূপ একটি বর্জ্য বলুন, তিনি আপনার দেহটিকে অন্যদিকে ঘুরিয়ে দেবেন এবং এটি সম্পর্কে আপনি "চিন্তা" না করে দু'বার পাহাড়ের দিকে ছুটে যাবেন।
সুতরাং, মস্তিষ্ক শরীরের একটি অন্তর্নিহিত অঙ্গ - এবং আশ্চর্যজনকভাবে যথেষ্ট, অন্যদিকেও। ঘনিষ্ঠভাবে সম্পর্কিত সংস্থাগুলির মধ্যে অ্যাক্সেস নিয়ন্ত্রণ ব্যবহার করে তাদের সম্পর্কের দাবিটি হারাতে হবে। আপনার যদি অ্যাক্সেস নিয়ন্ত্রণের প্রয়োজন হয় তবে আপনার ক্লাসগুলি আরও সত্যিকারের স্বতন্ত্র ইউনিটে আলাদা করতে হবে। ততক্ষণে তারা একই ইউনিট। আরও অধ্যয়নের জন্য একটি ড্রাইভিং উদাহরণ Iterator
হ'ল জাভা সাধারণত কীভাবে প্রয়োগ করা হয় তা দেখা।
নেস্টেড কোডে এনকোলেজিং কোড থেকে সীমাহীন অ্যাক্সেস এটিকে বেশিরভাগ অংশে, ক্ষেত্র এবং নেস্টেড ধরণের পদ্ধতির পদ্ধতিতে অ্যাক্সেস মডিফায়ার যুক্ত করার পরিবর্তে অকেজো। এটি করা বিশৃঙ্খলা যুক্ত করছে এবং জাভা প্রোগ্রামিং ভাষার নতুন আগতদের জন্য একটি মিথ্যা সুরক্ষার ধারণা প্রদান করবে।