python-basic

⌘K
  1. Home
  2. python-basic
  3. OOP
  4. ইনস্ট্যান্স মেথড ও ক্লাস মেথড

ইনস্ট্যান্স মেথড ও ক্লাস মেথড

পাইথনে oop দুটি ধরণের মেথড রয়েছে:

  • ইনস্ট্যান্স মেথড এবং
  • ক্লাস মেথড।

ইনস্ট্যান্স মেথড

ইনস্ট্যান্স মেথড হল সেই মেথডগুলি যা একটি অবজেক্টের সাথে সংযুক্ত থাকে। ইনস্ট্যান্স মেথডগুলি অবজেক্টের অবস্থা অ্যাক্সেস করতে এবং পরিবর্তন করতে পারে।

ইনস্ট্যান্স মেথডগুলিকে সাধারণত অবজেক্ট নামের পরে একটি ডট (.) চিহ্ন দিয়ে ডাকা হয়।

class Person:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

person = Person("Alice", 25)

person.greet()

উপরের কোডে, greet() মেথডটি একটি ইনস্ট্যান্স মেথড। এটি Person ক্লাসের একটি অবজেক্টের সাথে সংযুক্ত, এবং এটি অবজেক্টের name এবং age ক্ষেত্রগুলি অ্যাক্সেস করতে পারে।

ক্লাস মেথড

ক্লাস মেথড হল সেই মেথডগুলি যা একটি ক্লাসের সাথে সংযুক্ত থাকে। ক্লাস মেথডগুলি ক্লাসের অবস্থা অ্যাক্সেস করতে এবং পরিবর্তন করতে পারে, তবে তারা নির্দিষ্ট কোনো অবজেক্টের অবস্থা অ্যাক্সেস বা পরিবর্তন করতে পারে না।

ক্লাস মেথডগুলিকে সাধারণত ক্লাস নামের পরে একটি ডট (.) চিহ্ন দিয়ে ডাকা হয়।

উদাহরণ:

class Person:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    @classmethod
    def get_age_range(cls):
        return range(cls.min_age, cls.max_age)

    @classmethod
    def set_min_age(cls, min_age):
        cls.min_age = min_age

    @classmethod
    def set_max_age(cls, max_age):
        cls.max_age = max_age

person = Person("Alice", 25)

print(Person.get_age_range())

উপরের কোডে, get_age_range(), set_min_age() এবং set_max_age() মেথডগুলি ক্লাস মেথড। এগুলি Person ক্লাসের সাথে সংযুক্ত, কিন্তু তারা person অবজেক্টের অবস্থা অ্যাক্সেস বা পরিবর্তন করতে পারে না।

ইনস্ট্যান্স মেথড ও ক্লাস মেথডের মধ্যে পার্থক্য

ইনস্ট্যান্স মেথড ও ক্লাস মেথডের মধ্যে প্রধান পার্থক্যগুলি হল:

বৈশিষ্ট্যইনস্ট্যান্স মেথডক্লাস মেথড
সংযুক্তিএকটি অবজেক্টের সাথেএকটি ক্লাসের সাথে
অবস্থা অ্যাক্সেসকরতে পারেকরতে পারে না (নির্দিষ্ট কোনো অবজেক্টের অবস্থা)
ব্যবহারঅবজেক্টের সাথে যুক্ত কাজগুলি সম্পাদন করতেক্লাসের সাথে যুক্ত কাজগুলি সম্পাদন করতে

How can we help?