کلاسها و اشیاء (Python Classes/Objects)
کلاسها و اشیاء: سنگ بنای شیءگرایی (Classes & Objects) 🏗️💎
پایتون یک زبان برنامهنویسی شیءگرا (Object-Oriented) است. تقریباً همه چیز در پایتون یک "شیء" است که ویژگیها (Properties) و متدهای (Methods) خاص خود را دارد.
۱. کلاس چیست؟
کلاس را به عنوان یک "نقشه" یا "الگو" (Blueprint) برای ساخت اشیاء در نظر بگیرید. مثلاً کلاس "ماشین" مشخص میکند که هر ماشینی باید رنگ، مدل و سرعت داشته باشد. اما هر "ماشینِ" واقعی که ساخته میشود، یک شیء از آن کلاس است.
۲. تابع __init__()؛ سازنده کلاس
این تابع یکی از مهمترین متدها در کلاسهای پایتون است. به محض اینکه یک شیء از روی کلاس ساخته شود، این تابع به صورت خودکار اجرا میشود. ما معمولاً از آن برای مقداردهی اولیه به ویژگیهای شیء استفاده میکنیم.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1.name)
print(p1.age)
self ارجاعی به نمونه (Instance) فعلی کلاس است و برای دسترسی به متغیرهایی که متعلق به آن کلاس هستند استفاده میشود. لزومی ندارد نام آن حتماً self باشد، اما این یک استاندارد جهانی است.
۳. متدهای اشیاء (Object Methods)
اشیاء همچنین میتوانند حاوی متدها باشند. متدها در واقع توابعی هستند که متعلق به شیء میباشند و روی دادههای آن شیء عملیاتی انجام میدهند.
۴. ویرایش و حذف ویژگیها
شما میتوانید ویژگیهای یک شیء را به راحتی تغییر دهید: p1.age = 40. همچنین میتوانید با دستور del یک ویژگی یا حتی کلِ شیء را حذف کنید.
self به عنوان اولین پارامتر در متدهای کلاس است. بدون آن، پایتون نمیداند متد مربوط به کدام نمونه است.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
کلاسی به نام Car بسازید که دارای تابع __init__ باشد و دو ویژگی brand و model را مقداردهی کند. سپس یک شیء به نام c1 از این کلاس با مقادیر 'Toyota' و 'Corolla' بسازید.
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
c1 = Car('Toyota', 'Corolla')
print(c1.brand)
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.