কম্পিউটার

পাইথনে দৃষ্টান্তগুলির মধ্যে ভাগ করা ক্লাস ডেটা এড়ানো


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

প্রতিষ্ঠার উদাহরণ

নীচের উদাহরণে আমরা দেখাই যে কীভাবে ভেরিয়েবলগুলি প্রদত্ত ক্লাস থেকে ইন্সট্যান্স গরম করা হয় এবং কীভাবে ভেরিয়েবলগুলি সমস্ত ইনস্ট্যান্টিয়েটেড ক্লাসে ভাগ করা হয়৷

class MyClass:listA=[]# উভয় ক্লাসেক্স =MyClass()y =MyClass()# উভয়ই ক্লাসেক্স.listA.append(10)y.listA.append(20)x.listA.append( 30)y.listA.append(40)# প্রিন্ট রেজাল্টপ্রিন্ট("ইনস্ট্যান্স X:",x.listA)মুদ্রণ("ইনস্ট্যান্স Y:",y.listA)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

ইন্সট্যান্স X:[10, 20, 30, 40]ইনস্ট্যান্স Y:[10, 20, 30, 40] 

__inti__ সহ প্রাইভেট ক্লাস ভেরিয়েবল

আমরা একটি ক্লাসের ভিতরের ভেরিয়েবলকে প্রাইভেট হিসাবে তৈরি করতে I need a পদ্ধতি ব্যবহার করতে পারি। এই ভেরিয়েবলগুলি ক্লাস জুড়ে শেয়ার করা হবে না যখন প্যারেন্ট ক্লাস ইনস্ট্যান্ট করা হয়।

উদাহরণ

শ্রেণি MyClass:def __init__(self):self.listA =[]# উভয় ক্লাসেক্স =MyClass()y =MyClass()# উভয়ই ক্লাসেক্স.listA.append(10)y.listA.append(কে ম্যানিপুলেট করুন 20)x.listA.append(30)y.listA.append(40)# প্রিন্ট রেজাল্টপ্রিন্ট("ইনস্ট্যান্স X:",x.listA)মুদ্রণ("ইনস্ট্যান্স Y:",y.listA)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

ইনস্ট্যান্স X:[10, 30]ইনস্ট্যান্স Y:[20, 40] 

বাইরে ভেরিয়েবল ঘোষণা করে

এই পদ্ধতিতে, আমরা ক্লাসের বাইরে ভেরিয়েবলগুলি পুনরায় ঘোষণা করব। যেহেতু ভেরিয়েবলগুলি আবার শুরু হয় যা তাত্ক্ষণিক ক্লাস জুড়ে ভাগ করা হয় না।

উদাহরণ

শ্রেণি MyClass:listA =[]# উভয় ক্লাসেক্স =MyClass()y =MyClass()x.listA =[]y.listA =[]# উভয় classesx.listA.append(10)y-কে ম্যানিপুলেট করুন। listA.append(20)x.listA.append(30)y.listA.append(40)# প্রিন্ট ফলাফল প্রিন্ট("ইনস্ট্যান্স X:",x.listA)মুদ্রণ("ইনস্ট্যান্স Y:",y.listA)আউটপুট 

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

ইনস্ট্যান্স X:[10, 30]ইনস্ট্যান্স Y:[20, 40] 

  1. পাইথনে বেহালা প্লটের কাজ প্রদর্শন করুন?

  2. পাইথনে একটি ক্লাস প্রদত্ত সুপার ক্লাসের একটি সাবক্লাস কিনা আমরা কিভাবে পরীক্ষা করব?

  3. পাইথনে ক্লাস ভেরিয়েবল সংজ্ঞায়িত করার সঠিক উপায় কি?

  4. পাইথনে অবজেক্ট ওরিয়েন্টেড ধারণাগুলো সংক্ষেপে ব্যাখ্যা কর?