کلاس در پایتون یک الگو برای ساخت اشیاء است. اشیاء موجودیتهای مستقل هستند که شامل داده و توابع مربوط به آن داده هستند.
تعریف کلاس:
برای تعریف یک کلاس از کلمه کلیدی class
استفاده میشود.
class Person:
# ویژگیها
name = ""
age = ۰
# روشها
def greet(self):
print(f"Hello, my name is {self.name}")
در این مثال، کلاس Person
با دو ویژگی (متغیر) به نامهای name
و age
و یک روش (تابع) به نام greet
تعریف شده است.
ایجاد شیء:
برای ایجاد یک شیء از کلمه کلیدی new
استفاده میشود.
person1 = Person()
person1.name = "John Doe"
person1.age = ۳۰
person2 = Person()
person2.name = "Jane Doe"
person2.age = ۲۵
person1.greet()
person2.greet()
در این مثال، دو شیء به نامهای person1
و person2
از کلاس Person
ایجاد شده است. سپس، مقادیر ویژگیهای name
و age
برای هر شیء به طور جداگانه تنظیم شده است. در نهایت، از روش greet
برای هر شیء استفاده شده است.
مزایای استفاده از کلاس:
- خوانایی کد: کد نوشته شده با استفاده از کلاسها خواناتر و قابل فهمتر است.
- قابلیت نگهداری: کد نوشته شده با استفاده از کلاسها را میتوان به راحتی نگهداری و به روز کرد.
- قابلیت استفاده مجدد: میتوان از کد نوشته شده با استفاده از کلاسها در برنامههای مختلف استفاده مجدد کرد.
- قابلیت توسعه: کد نوشته شده با استفاده از کلاسها را میتوان به راحتی توسعه داد.
مثال کاربردی:
فرض کنید میخواهیم برنامهای بنویسیم که اطلاعات مربوط به دانشآموزان را ذخیره و مدیریت کند. برای این کار، میتوانیم از کلاس Student
برای تعریف اشیاء دانشآموز استفاده کنیم.
class Student:
# ویژگیها
name = ""
grade = ۰
# روشها
def study(self):
print(f"{self.name} is studying")
def take_exam(self):
print(f"{self.name} is taking an exam")
student1 = Student()
student1.name = "John Doe"
student1.grade = ۱۰
student2 = Student()
student2.name = "Jane Doe"
student2.grade = ۱۱
student1.study()
student2.take_exam()
در این مثال، کلاس Student
با دو ویژگی (متغیر) به نامهای name
و grade
و دو روش (تابع) به نامهای study
و take_exam
تعریف شده است. سپس، دو شیء به نامهای student1
و student2
از کلاس Student
ایجاد شده است.
نکات:
- میتوان از آرگومانها در هنگام تعریف کلاس و روشها استفاده کرد.
- میتوان از متغیرهای محلی در داخل روشها استفاده کرد.
- میتوان از متدهای مخفی در کلاسها استفاده کرد.
- میتوان از وراثت برای ایجاد کلاسهای جدید از کلاسهای موجود استفاده کرد.