کلاس و شیء در پایتون

آموزش Class و Object در Python به زبان ساده

کلاس (Class) چیست؟

در برنامه‌نویسی شی‌ءگرا، کلاس یک قالب یا نقشه برای ساخت اشیاء است.

کلاس مشخص می‌کند اشیایی که از روی آن ساخته می‌شوند چه ویژگی‌ها و چه رفتارهایی داشته باشند.

برای مثال اگر بخواهیم اطلاعات یک دانش‌آموز را در برنامه مدیریت کنیم، می‌توانیم کلاسی به نام Student ایجاد کنیم.

ساخت یک کلاس در پایتون

برای تعریف کلاس در پایتون از کلمه کلیدی class استفاده می‌کنیم.

class Student:
    pass

در این مثال کلاس Student ساخته شده است.

کلمه pass یعنی فعلاً داخل کلاس دستور خاصی قرار نداده‌ایم.

نکته: نام کلاس‌ها معمولاً با حرف بزرگ شروع می‌شود. این یک قرارداد رایج در پایتون است و باعث خوانایی بهتر کد می‌شود.

شیء (Object) چیست؟

شیء یا Object یک نمونه از یک کلاس است.

به زبان ساده، اگر کلاس را یک نقشه در نظر بگیریم، شیء چیزی است که بر اساس آن نقشه ساخته می‌شود.

چگونه از یک کلاس شیء بسازیم؟

بعد از ساخت کلاس می‌توانیم با استفاده از نام کلاس، یک شیء ایجاد کنیم.

class Student:
    pass


student1 = Student()

در این مثال:

ساخت چند شیء از یک کلاس

یکی از مزیت‌های کلاس این است که می‌توانیم از یک کلاس، چندین شیء مختلف ایجاد کنیم.

class Student:
    pass


student1 = Student()
student2 = Student()
student3 = Student()

در اینجا سه شیء مختلف از یک کلاس ساخته‌ایم. هر کدام از این اشیاء می‌توانند اطلاعات مخصوص خودشان را داشته باشند.

اضافه کردن ویژگی به شیء

می‌توانیم برای هر شیء ویژگی‌های مختلفی تعریف کنیم. برای مثال نام و سن یک دانش‌آموز.

class Student:
    pass


student1 = Student()

student1.name = "Ali"
student1.age = 20

اکنون شیء student1 دو ویژگی دارد:

دسترسی به ویژگی‌های شیء

برای دسترسی به ویژگی‌های یک شیء از نقطه . استفاده می‌کنیم.

print(student1.name)
print(student1.age)

خروجی:

Ali
20

هر شیء می‌تواند اطلاعات متفاوتی داشته باشد

حالا دو دانش‌آموز مختلف ایجاد می‌کنیم.

class Student:
    pass


student1 = Student()
student2 = Student()

student1.name = "Ali"
student1.age = 20

student2.name = "Sara"
student2.age = 19

print(student1.name)
print(student2.name)

خروجی:

Ali
Sara

همان کلاس برای ساخت هر دو شیء استفاده شده است، اما هر شیء اطلاعات مخصوص خودش را دارد.

تفاوت Class و Object چیست؟

Class Object
یک قالب یا نقشه است یک نمونه از کلاس است
ساختار را مشخص می‌کند اطلاعات واقعی را نگهداری می‌کند
می‌توان از آن چند شیء ساخت هر شیء می‌تواند اطلاعات متفاوتی داشته باشد

یک مثال واقعی‌تر

فرض کنید می‌خواهیم برای یک فروشگاه، اطلاعات محصولات را مدیریت کنیم.

می‌توانیم یک کلاس به نام Product ایجاد کنیم.

class Product:
    pass


product1 = Product()
product2 = Product()

product1.name = "Laptop"
product1.price = 50000

product2.name = "Mouse"
product2.price = 1500

در این مثال هر محصول یک شیء مستقل است و اطلاعات مخصوص خودش را دارد.

این همان ایده اصلی OOP است: می‌توانیم موجودیت‌های مختلف برنامه را به صورت اشیاء مدل کنیم و اطلاعات و رفتارهای مربوط به آن‌ها را در ساختارهای مشخص قرار دهیم.

چرا Class و Object مهم هستند؟

وقتی پروژه‌ها بزرگ‌تر می‌شوند، تعداد اطلاعات و بخش‌های مختلف برنامه نیز بیشتر می‌شود.

استفاده از کلاس‌ها کمک می‌کند ساختار برنامه منظم‌تر شود و بتوانیم موجودیت‌های مختلف را بهتر مدیریت کنیم.

نکته مهم درباره این روش

در مثال‌های بالا ویژگی‌ها را مستقیماً بعد از ساخت شیء ایجاد کردیم.

در پروژه‌های واقعی معمولاً از __init__() برای مقداردهی اولیه ویژگی‌های اشیاء استفاده می‌کنیم.

این موضوع را در درس بعدی به‌صورت کامل یاد می‌گیریم.

تمرین

یک کلاس به نام Book بسازید.

سپس دو شیء از آن ایجاد کنید و برای هر شیء دو ویژگی title و author قرار دهید.

در پایان نام کتاب‌ها را با print() نمایش دهید.

راهنمای شروع

class Book:
    pass


book1 = Book()
book2 = Book()

# ویژگی‌های کتاب‌ها را اینجا تعریف کنید

جمع‌بندی

در این درس با دو مفهوم اصلی OOP یعنی Class و Object آشنا شدیم.