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