~3 دقیقه مطالعه • بروزرسانی ۲۵ شهریور ۱۴۰۴
مقدمه
در زبان پایتون، کلاسها ابزار اصلی برای پیادهسازی برنامهنویسی شیگرا (OOP) هستند. با استفاده از کلاسها میتوان اشیاء با ویژگیها و رفتارهای خاص تعریف کرد، منطق را کپسوله کرد، و ساختارهای قابلتوسعه و قابلنگهداری ایجاد نمود. در این مقاله، بهصورت گامبهگام با مفاهیم کلاس در پایتون آشنا میشویم.
تعریف کلاس در پایتون
برای تعریف یک کلاس از کلیدواژه class استفاده میکنیم:
class Person:
passدر مثال بالا، کلاس Person تعریف شده اما هنوز هیچ ویژگی یا رفتاری ندارد.
سازنده کلاس (__init__)
برای مقداردهی اولیه به ویژگیهای کلاس، از متد __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__کاربردهای عملی کلاسها
- مدیریت کاربران در سیستمهای احراز هویت
- مدلسازی موجودیتها در بازیها یا اپلیکیشنها
- ساخت APIهای شیگرا با فریمورکهایی مانند Django و FastAPI
- کپسولهسازی منطق پیچیده در پروژههای بزرگ
جمعبندی
کلاسها در پایتون ابزار قدرتمندی برای ساختاردهی به کد، مدیریت دادهها و پیادهسازی منطق شیگرا هستند. با یادگیری اصول کلاس، سازندهها، وراثت، و متدها، میتوان پروژههایی مقیاسپذیر، قابلنگهداری و حرفهای ایجاد کرد.
نوشته و پژوهش شده توسط دکتر شاهین صیامی