হ্যাঁ, পোস্ট করা মূল উদাহরণের জন্য, সম্পত্তিটি কেবলমাত্র একটি উদাহরণ ভেরিয়েবল 'x' থাকার মতোই কাজ করবে।
অজগর বৈশিষ্ট্য সম্পর্কে এটি সেরা জিনিস। বাইরে থেকে, তারা ঠিক উদাহরণস্বরূপ ভেরিয়েবলগুলির মতো কাজ করে! যা আপনাকে ক্লাসের বাইরে থেকে উদাহরণ ভেরিয়েবলগুলি ব্যবহার করতে দেয়।
এর অর্থ হল আপনার প্রথম উদাহরণটি আসলে একটি উদাহরণ ভেরিয়েবল ব্যবহার করতে পারে। যদি জিনিসগুলি পরিবর্তিত হয়, এবং তারপরে আপনি নিজের বাস্তবায়ন পরিবর্তন করার সিদ্ধান্ত নেন এবং কোনও সম্পত্তি কার্যকর হয় তবে শ্রেণীর বাইরের কোড থেকে সম্পত্তির ইন্টারফেসটি একই হবে। উদাহরণে পরিবর্তনশীল থেকে সম্পত্তি পরিবর্তনের শ্রেণীর বাইরের কোডের কোনও প্রভাব নেই।
অন্যান্য অনেক ভাষা এবং প্রোগ্রামিং কোর্স নির্দেশ দেয় যে কোনও প্রোগ্রামার কখনই উদাহরণের ভেরিয়েবলগুলি প্রকাশ করতে পারে না এবং পরিবর্তে শ্রেণীর বাইরে থেকে যে কোনও মান অ্যাক্সেস করার জন্য 'গেটর' এবং 'সেটার' ব্যবহার করে, এমনকি প্রশ্নের মধ্যে উদ্ধৃত সাধারণ মামলাও।
শ্রেণীর বাইরে কোড সহ অনেকগুলি ভাষা (যেমন জাভা) ব্যবহার করে
object.get_i()
#and
object.set_i(value)
#in place of (with python)
object.i
#and
object.i = value
এবং শ্রেণিটি বাস্তবায়নের সময় অনেকগুলি 'গেটরস' এবং 'সেটার' রয়েছে যা আপনার প্রথম উদাহরণ হিসাবে হুবহু: একটি সাধারণ উদাহরণের পরিবর্তনশীলটিকে প্রতিলিপি করুন। এই getters এবং setters প্রয়োজনীয় কারণ শ্রেণি বাস্তবায়ন পরিবর্তিত হলে, শ্রেণীর বাইরের সমস্ত কোড পরিবর্তন করা প্রয়োজন। তবে পাইথন বৈশিষ্ট্যগুলি শ্রেণীর বাইরে কোডের উদাহরণ ভেরিয়েবলগুলির সাথে একই রকম হতে দেয়। সুতরাং শ্রেণীর বাইরের কোডটি পরিবর্তন করার দরকার নেই যদি আপনি কোনও সম্পত্তি যুক্ত করেন বা কোনও সাধারণ উদাহরণ পরিবর্তনশীল থাকে। সুতরাং বেশিরভাগ অবজেক্ট ওরিয়েন্টেড ভাষাগুলির বিপরীতে, আপনার সাধারণ উদাহরণের জন্য আপনি 'গেটার্স' এবং 'সেটার' পরিবর্তে উদাহরণ পরিবর্তনশীল ব্যবহার করতে পারেন যা সত্যই প্রয়োজন হয় না, এই জ্ঞানে সুরক্ষিত যে আপনি যদি ভবিষ্যতে কোনও সম্পত্তিতে পরিবর্তন করেন তবে কোডটি ব্যবহার করে আপনার ক্লাস পরিবর্তন করা প্রয়োজন।
এর অর্থ জটিল জটিল আচরণ থাকলে আপনার কেবলমাত্র বৈশিষ্ট্য তৈরি করতে হবে এবং খুব সাধারণ সাধারণ ক্ষেত্রে যেখানে প্রশ্নে বর্ণিত হয়েছে, একটি সাধারণ দৃষ্টান্তের পরিবর্তনশীল যা প্রয়োজন তা হল, আপনি কেবল উদাহরণের পরিবর্তনশীলটি ব্যবহার করতে পারেন।