کلاسها و اشیاء (class)
کلاس چیست؟
- کلاس (Class) = قالب/طرح برای ساخت اشیاء (Objects)
- شیء (Object) = نمونهای واقعی ساختهشده از یک کلاس
- کلیدواژه تعریف:
class
تعریف یک کلاس ساده
<class '__main__.Dog'>
متد سازنده — __init__
- هر بار که یک شیء ساخته میشه، این متد بهطور خودکار اجرا میشه
- برای مقداردهی اولیه ویژگیهای (attributes) شیء استفاده میشه
self: اشاره به خود شیء — همیشه اولین پارامتر متدهای کلاسه
Rex 3
متدها (رفتار اشیاء)
- توابعی که داخل کلاس تعریف میشن و روی دادههای شیء کار میکنن
Rex says: Woof!
ویژگیهای نمونه (Instance Attributes) در مقابل ویژگیهای کلاس (Class Attributes)
| نوع | تعلق داره به | مثال |
|---|---|---|
| Instance Attribute | هر شیء مقدار جدا داره | self.name |
| Class Attribute | مشترک بین همهی نمونهها | تعریف مستقیم داخل کلاس، بیرون __init__ |
ساخت چند شیء از یک کلاس
- هر شیء دادههای مستقل خودش رو داره، حتی اگه از یک کلاس ساخته شده باشن
نکته: تفاوت self با پارامترهای دیگه
selfبهطور خودکار توسط پایتون پاس داده میشه، لازم نیست هنگام فراخوانی متد صداش کنیم