جلسه بیست و نهم
ادامه مبحث شی گرایی
برای دسترسی به متود های کلاس باید یک شی از کلاس ایجاد کنیم.
مثال 1:ساخت کلاس سگ.
1 2 3 4 5 6 7 8 9 10 11 12 |
<xmp>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())</xmp> |
تابع سازنده 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: ساخت کلاس دایره.
1 2 3 4 5 6 7 8 9 10 11 12 |
<xmp>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()) </xmp> |
مثال 3:کلاس دانش آموز.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<xmp> 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</xmp> |
تابع سازنده 3 ورودی دارد.