جلسه بیست و نهم

ادامه مبحث شی گرایی

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

مثال 1:ساخت کلاس سگ.

				
					class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def bark(self):
        return "Woof!"
# ساخت یک نمونه از کلاس Dog
dog1 = Dog("Buddy", 3)
# فراخوانی متد bark بر روی نمونه dog1
print(dog1.bark())
				
			

تابع سازنده 2 ورودی دارد.

این یک مثال ساده از پیاده‌سازی کلاس Dog است. بیایید به تک تک قسمت‌های آن نگاهی بیندازیم:

1. **تعریف کلاس `Dog`**:

– کلاس `Dog` تعریف شده است که دو ویژگی (`name` و `age`) و یک متد (`bark`) را در خود دارد.

2. **متد `__init__`**:

– این متد ویژه کلاس است که به عنوان سازنده (constructor) عمل می‌کند و هنگام ایجاد نمونه‌ای از کلاس فراخوانی می‌شود.

– در این متد، مقادیر اولیه ویژگی‌های `name` و `age` از طریق پارامترهای ورودی تعیین می‌شوند.

– مقادیر پارامترها به ویژگی‌های شیء (instance attributes) اختصاص داده می‌شوند.

3. **متد `bark`**:

– این متد هیچ پارامتری ندارد و تنها یک رشته `”Woof!”` را بازگشت می‌دهد.

4. **ایجاد نمونه‌ای از کلاس `Dog`**:

– با استفاده از عبارت `dog1 = Dog(“Buddy”, 3)` یک نمونه از کلاس `Dog` با نام `dog1` ایجاد می‌شود.

– در این مرحله، متد `__init__` فراخوانی شده و مقادیر `”Buddy”` و `3` به عنوان نام و سن به ویژگی‌های شیء اختصاص داده می‌شوند.

5. **فراخوانی متد `bark`**:

– با استفاده از عبارت `dog1.bark()` متد `bark` بر روی شیء `dog1` فراخوانی می‌شود.

– از آنجایی که این متد هیچ پارامتری ندارد، تنها رشته `”Woof!”` به عنوان خروجی چاپ می‌شود.

در مجموع، این کد یک کلاس ساده `Dog` را تعریف می‌کند که دارای دو ویژگی (`name` و `age`) و یک متد (`bark`) است. سپس یک نمونه از این کلاس با مقادیر مشخص ایجاد شده و متد `bark` بر روی آن فراخوانی می‌شود.

مثال 2: ساخت کلاس دایره.

				
					class Circle:
    def __init__(self, radius):
        self.radius = radius
    def area(self):
        return 3.14 * self.radius ** 2
# ساخت یک نمونه از کلاس Circle
circle1 = Circle(5)
# فراخوانی متد area بر روی نمونه circle1
print(circle1.area())

				
			

مثال 3:کلاس دانش آموز.

				
					
class Student:
    def __init__(self, first_name, last_name, birth_year):
        self.first_name = first_name
        self.last_name = last_name
        self.birth_year = birth_year
    
    def calculate_age(self, current_year):
        age = current_year - self.birth_year
        return age
# ساخت یک شیء (دانشجو)
student1 = Student("علی", "احمدی", 2000)
# استفاده از ویژگی‌های شیء
print(student1.first_name)  # خروجی: علی
print(student1.last_name)   # خروجی: احمدی
# استفاده از تابع شیء
current_year = 2023
age = student1.calculate_age(current_year)
print(age)  # خروجی: 23
				
			

تابع سازنده 3 ورودی دارد.