জাভাতে প্রাইভেট দৃশ্যমানতার শব্দার্থবিজ্ঞান কেন বস্তুর স্তরের পরিবর্তে শ্রেণি স্তর of প্রশ্নে আমার 2 সেন্ট।
আমি বলব যে সুবিধাটি এখানে মূল চাবিকাঠি বলে মনে হচ্ছে। প্রকৃতপক্ষে, অবজেক্ট স্তরের একটি ব্যক্তিগত দৃশ্যমানতা ওপি দ্বারা চিত্রিত দৃশ্যে অন্যান্য ক্লাসগুলিতে (যেমন একই প্যাকেজটিতে) পদ্ধতিগুলি প্রকাশ করতে বাধ্য করেছিল।
বস্তুতঃ ব্যক্তিগত বা স্তরের দৃশ্যমানতার তুলনায় শ্রেণি-বেসরকারী স্তরে (যেমন জাভা দেওয়া) দৃশ্যমানতা যে কোনও সমস্যা তৈরি করে এমন কোনও উদাহরণ আমি খুঁজে পাচ্ছিলাম না বা খুঁজেও পাচ্ছিলাম না।
এটি বলেছে যে, দৃশ্যমানতার নীতিগুলির আরও সূক্ষ্ম-সিস্টেমযুক্ত প্রোগ্রামিং ভাষাগুলি অবজেক্ট স্তর এবং শ্রেণির স্তরে উভয় বস্তুর দৃশ্যমানতা বহন করতে পারে।
উদাহরণস্বরূপ আইফেল , বেছে বেছে রফতানি সরবরাহ করে: আপনি any NONE} (অবজেক্ট-প্রাইভেট) থেকে {কোনও} (জনসাধারণের সমতুল্য, এবং ডিফল্টও) থেকে {ব্যক্তি to তে আপনার পছন্দের যে কোনও শ্রেণীর যে কোনও শ্রেণীর বৈশিষ্ট্য রফতানি করতে পারবেন (শ্রেণি-বেসরকারী, ওপির উদাহরণ দেখুন), শ্রেণিগুলির নির্দিষ্ট গোষ্ঠীগুলিতে {পার্সোন, ব্যাংক}
এই মন্তব্যটি আরও আকর্ষণীয় যে এফিলটিতে আপনাকে অন্য শ্রেণিগুলিকে দায়িত্ব অর্পণ করতে বাধা দেওয়ার জন্য আপনাকে কোনও গুণকে ব্যক্তিগত করার প্রয়োজন নেই এবং গেটর লেখার দরকার নেই। আইফেলের সর্বজনীন বৈশিষ্ট্যগুলি কেবলমাত্র পঠনযোগ্য মোডে ডিফল্টরূপে অ্যাক্সেসযোগ্য হয়, সুতরাং কেবলমাত্র তাদের মান ফিরিয়ে দেওয়ার জন্য আপনার কোনও গেটের দরকার নেই।
অবশ্যই আপনাকে একটি অ্যাট্রিবিউট সেট করতে এখনও একটি সেটার প্রয়োজন, তবে আপনি সেই বৈশিষ্ট্যের জন্য "অ্যাসাইনার" হিসাবে সংজ্ঞায়িত করে এটি আড়াল করতে পারেন। এটি আপনাকে, যদি আপনি চান, সেটার অনুরোধের পরিবর্তে আরও বেশি সুবিধাজনক অ্যাসাইনমেন্ট অপারেটর ব্যবহার করার অনুমতি দেয়।