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