در زبان پایتون، کلاسها ابزار اصلی برای پیادهسازی برنامهنویسی شیگرا (OOP) هستند. با استفاده از کلاسها میتوان اشیاء با ویژگیها و رفتارهای خاص تعریف کرد، منطق را کپسوله کرد، و ساختارهای قابلتوسعه و قابلنگهداری ایجاد نمود. در این مقاله، بهصورت گامبهگام با مفاهیم کلاس در پایتون آشنا میشویم.
برای تعریف یک کلاس از کلیدواژه class استفاده میکنیم:
class Person:
passدر مثال بالا، کلاس Person تعریف شده اما هنوز هیچ ویژگی یا رفتاری ندارد.
برای مقداردهی اولیه به ویژگیهای کلاس، از متد __init__ استفاده میشود:
class Person:
def __init__(self, name, age):
self.name = name
self.age = ageدر اینجا، هنگام ساخت شی از کلاس، نام و سن بهعنوان ورودی دریافت و ذخیره میشوند.
p1 = Person("Ali", 30)
print(p1.name) # خروجی: Aliبا استفاده از کلاس، شیای به نام p1 ساخته شده که ویژگیهای خاص خود را دارد.
متدها رفتارهایی هستند که به اشیاء کلاس نسبت داده میشوند:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print(f"Hello, my name is {self.name}")p2 = Person("Sara")
p2.greet() # خروجی: Hello, my name is Saraبا وراثت میتوان کلاس جدیدی ساخت که ویژگیها و رفتارهای کلاس والد را به ارث ببرد:
class Employee(Person):
def __init__(self, name, salary):
super().__init__(name)
self.salary = salaryکلاس Employee از Person ارثبری کرده و ویژگی جدیدی به نام salary اضافه کرده است.
در پایتون، برای تعریف ویژگیهای خصوصی از پیشوند _ یا __ استفاده میشود:
class BankAccount:
def __init__(self, balance):
self.__balance = balance
def get_balance(self):
return self.__balanceویژگی __balance فقط از طریق متد get_balance قابلدسترسی است.
متدهای کلاس و استاتیکمتدها با دکوریتورهای خاص تعریف میشوند:
class Math:
@staticmethod
def add(x, y):
return x + y
@classmethod
def identity(cls):
return cls.__name__کلاسها در پایتون ابزار قدرتمندی برای ساختاردهی به کد، مدیریت دادهها و پیادهسازی منطق شیگرا هستند. با یادگیری اصول کلاس، سازندهها، وراثت، و متدها، میتوان پروژههایی مقیاسپذیر، قابلنگهداری و حرفهای ایجاد کرد.