کلاس (Class) چیست؟
در برنامهنویسی شیءگرا، کلاس یک قالب یا نقشه برای ساخت اشیاء است.
کلاس مشخص میکند اشیایی که از روی آن ساخته میشوند چه ویژگیها و چه رفتارهایی داشته باشند.
برای مثال اگر بخواهیم اطلاعات یک دانشآموز را در برنامه
مدیریت کنیم، میتوانیم کلاسی به نام
Student
ایجاد کنیم.
ساخت یک کلاس در پایتون
برای تعریف کلاس در پایتون از کلمه کلیدی
class
استفاده میکنیم.
class Student:
pass
در این مثال کلاس
Student
ساخته شده است.
کلمه
pass
یعنی فعلاً داخل کلاس دستور خاصی قرار ندادهایم.
نکته: نام کلاسها معمولاً با حرف بزرگ شروع میشود. این یک قرارداد رایج در پایتون است و باعث خوانایی بهتر کد میشود.
شیء (Object) چیست؟
شیء یا Object یک نمونه از یک کلاس است.
به زبان ساده، اگر کلاس را یک نقشه در نظر بگیریم، شیء چیزی است که بر اساس آن نقشه ساخته میشود.
چگونه از یک کلاس شیء بسازیم؟
بعد از ساخت کلاس میتوانیم با استفاده از نام کلاس، یک شیء ایجاد کنیم.
class Student:
pass
student1 = Student()
در این مثال:
-
Studentنام کلاس است. -
student1یک شیء از کلاسStudentاست. -
Student()باعث ایجاد یک نمونه جدید از کلاس میشود.
ساخت چند شیء از یک کلاس
یکی از مزیتهای کلاس این است که میتوانیم از یک کلاس، چندین شیء مختلف ایجاد کنیم.
class Student:
pass
student1 = Student()
student2 = Student()
student3 = Student()
در اینجا سه شیء مختلف از یک کلاس ساختهایم. هر کدام از این اشیاء میتوانند اطلاعات مخصوص خودشان را داشته باشند.
اضافه کردن ویژگی به شیء
میتوانیم برای هر شیء ویژگیهای مختلفی تعریف کنیم. برای مثال نام و سن یک دانشآموز.
class Student:
pass
student1 = Student()
student1.name = "Ali"
student1.age = 20
اکنون شیء
student1
دو ویژگی دارد:
-
nameبرای نام -
ageبرای سن
دسترسی به ویژگیهای شیء
برای دسترسی به ویژگیهای یک شیء از نقطه
.
استفاده میکنیم.
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 آشنا شدیم.
- کلاس یک قالب برای ساخت اشیاء است.
- شیء یک نمونه از کلاس است.
- میتوان از یک کلاس چندین شیء ایجاد کرد.
- هر شیء میتواند اطلاعات مخصوص خودش را داشته باشد.
-
برای دسترسی به ویژگیهای شیء از علامت
.استفاده میکنیم.