কম্পিউটার

পাইথনে পুরানো শৈলী এবং নতুন শৈলী ক্লাসের মধ্যে পার্থক্য কি?


পাইথন 2.x-এ বেস-ক্লাস হিসাবে বিল্ট-ইন টাইপের উপস্থিতি বা অনুপস্থিতির উপর নির্ভর করে ক্লাসের দুটি শৈলী রয়েছে -

"classic" style or old style classes have no built-in type as a base class:
>>> class OldSpam:      # no base class
...     pass
>>> OldSpam.__bases__
()

"নতুন" শৈলীর ক্লাস:বেস ক্লাস হিসাবে তাদের একটি অন্তর্নির্মিত টাইপ রয়েছে যার অর্থ হল, প্রত্যক্ষ বা পরোক্ষভাবে, তাদের একটি বেস ক্লাস হিসাবে বস্তু রয়েছে -

>>> class NewSpam(object):           # directly inherit from object
...    pass
>>> NewSpam.__bases__
(<type 'object'>,)
>>> class IntSpam(int):              # indirectly inherit from object...
...    pass
>>> IntSpam.__bases__
(<type 'int'>,)
>>> IntSpam.__bases__[0].__bases__   # ... because int inherits from object
(<type 'object'>,)

একটি ক্লাস লেখার সময় একজন সর্বদা নতুন-স্টাইলের ক্লাসে যেতে চাইবে৷ এটি করার সুবিধাগুলি অসংখ্য, তাদের মধ্যে কয়েকটি তালিকাভুক্ত করার জন্য -

বর্ণনাকারীদের জন্য সমর্থন. বিশেষত, নিম্নলিখিত গঠনগুলি বর্ণনাকারীর সাহায্যে সম্ভব হয়েছে −

ক্লাস পদ্ধতি − একটি পদ্ধতি যা উদাহরণের পরিবর্তে একটি অন্তর্নিহিত যুক্তি হিসাবে ক্লাস গ্রহণ করে।

স্ট্যাটিক পদ্ধতি − একটি পদ্ধতি যা প্রথম যুক্তি হিসাবে অন্তর্নিহিত যুক্তি স্বয়ং গ্রহণ করে না।

সম্পত্তি সহ বৈশিষ্ট্য:একটি বৈশিষ্ট্য পাওয়া, সেটিং এবং মুছে ফেলার পরিচালনার জন্য ফাংশন তৈরি করুন৷

Python 3.x শুধুমাত্র নতুন শৈলীর ক্লাসগুলিকে স্পষ্টভাবে সমর্থন করে। ক্লাস ঘোষণায় বন্ধনীতে বস্তু শব্দটি উল্লেখ করার প্রয়োজন নেই।


  1. C# এ একটি ইন্টারফেস এবং একটি ক্লাসের মধ্যে পার্থক্য কী?

  2. C# এ একটি ক্লাস এবং একটি বস্তুর মধ্যে পার্থক্য কী?

  3. Tkinter এর Tk এবং Toplevel ক্লাসের মধ্যে পার্থক্য কি?

  4. পাইথনে tkinter এবং tkinter.ttk-এর উইজেটগুলির মধ্যে পার্থক্য কী?