מתודות
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Python של Coddy. שיעור 5 מתוך 64.
מתודות הן פונקציות ששייכות למחלקה. הן מגדירות את ההתנהגויות או הפעולות שאובייקטים יכולים לבצע.
הנה דוגמה למחלקה עם מתודות:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultצרו אובייקט של מחשבון:
my_calc = Calculator()קרא למתודה שלא זקוקה לפרמטרים:
my_calc.greet()קריאה למתודות עם פרמטרים:
sum_result = my_calc.add(5, 3)
print(sum_result)קוראים למתודה שגם מדפיסה וגם מחזירה ערך:
product = my_calc.multiply(4, 7)פלט:
Hello! I'm a calculator.
8
4 × 7 = 28מתודות יכולות:
- לקבל פרמטרים כמו
add(self, a, b) - להחזיר ערכים כמו
return a + b - להדפיס פלט ישירות כמו
print("Hello!") - גם להדפיס וגם להחזיר
נקודה חשובה: מתודות מגדירות מה האובייקטים שלך יכולים לעשות. יש לכלול תמיד את self כפרמטר הראשון, אבל לא להעביר אותו כשקוראים למתודה.
אתגר
קלבאתגר הזה תממשו מערכת בנקאית. תיצרו מחלקה בשם BankAccount בקובץ אחד ותשתמשו בה בקובץ אחר, וכך תדגימו איך לארגן את הקוד כדי שיהיה קל יותר לתחזק אותו.
עליכם לעבוד עם שני קבצים:
- bank_account.py: כאן תגדירו את המחלקה
BankAccount - driver.py: כאן תייבאו את המחלקה, תיצרו חשבון ותבצעו עסקאות
צרו מחלקה בשם BankAccount בקובץ bank_account.py עם:
- תכונת מחלקה
bank_nameשערכה הוא "Python National Bank" - מתודה
depositשמקבלת סכום ומוסיפה אותו ליתרת החשבון - מתודה
withdrawשמקבלת סכום ומחסירה אותו מהיתרה - מתודה
get_balanceשמחזירה את היתרה הנוכחית
לאחר מכן, בקובץ driver.py, ייבאו את המחלקה BankAccount, צרו חשבון, הפקידו $100, משכו $30 והדפיסו את היתרה בפורמט: f"Current balance: ${my_account.get_balance()}"
נסו בעצמכם
from bank_account import BankAccount
# צרו חשבון ובדקו את המתודות שלכם
my_account = BankAccount()
my_account.balance = 0 # יתרה התחלתית
# TODO: בצעו פעולות בחשבון
# (הקוד שלכם כאן)
# TODO: הדפיסו את היתרה הסופית
# (הקוד שלכם כאן)השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםהפרמטר selfמתודותמאפייניםשיטת הבנאי (__init__)חזרה: מחשבון פשוט5פולימורפיזם
בחינה מחדש של דריסת מתודותטיפוסיות ברווזמחלקות ומתודות אבסטרקטיותעיצוב ממשקיםסיכום – מחשבון צורות8מושגים מתקדמים בתכנות מונחה עצמים
קומפוזיציה לעומת הורשהMixinsמתודות סטטיות ומתודות מחלקהדקורטורים למחלקותמנהלי הקשרתרגלו בעצמכם: קומפיילר Python אונליין