در دو قسمت قبل، اطلاعات یک کار رو داخل دیکشنری نگه میداشتیم. حالا میخوایم هر کار علاوه بر عنوان، کاری مثل «انجامشده شدن» هم بلد باشه. کلاس کمک میکنه اطلاعات و کارهای مربوط به اون رو کنار هم بنویسیم. به این روش شیءگرایی میگن. البته برای حل هر مسئلهای لازم نیست کلاس بسازیم.
کلاس Task مثل یک الگو برای ساخت کارهاست. با Task("تمرین پایتون") یک شیء یا نمونه (instance) از این الگو میسازیم.
- ویژگی یا attribute، اطلاعات شیء هست؛ مثلاً عنوان کار.
- متد، تابعی هست که از طریق شیء صداش میزنیم؛ مثلاً انجامشده کردن کار.
__init__وقتی نمونه تازه آماده میشه اجرا میشه.selfبه همون نمونه اشاره میکنه. وقتیtask.complete()رو صدا میزنیم، پایتون خودش نمونه رو به متد میفرسته.
class Task:
def __init__(self, title):
self.title = title
self.done = False
def complete(self):
self.done = True
task = Task("تمرین پایتون")
print(task.title)
task.complete()
print(task.done)
خروجی دو خط تمرین پایتون و True هست. عنوان و وضعیت هر کار میتونه مستقل باشه، اما تعریف متد رو یک بار نوشتیم. در این بخش مدیریت کارها رو قدمبهقدم میسازیم؛ بعداً اون رو ذخیره میکنیم و براش پنجره میسازیم.
فعالیت شما
اجزای کلاس، نمونه، ویژگی و متد رو در یک مثال تشخیص بده.