מתודות
חלק מהיחידה תכנות מונחה עצמים במסלול ה-PHP של Coddy. שיעור 5 מתוך 91.
מתודות הן פונקציות ששייכות למחלקה. הן מגדירות את ההתנהגויות או הפעולות שאובייקטים יכולים לבצע.
הנה דוגמה למחלקה עם מתודות:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}צרו אובייקט מחשבון:
$myCalc = new Calculator();קרא למתודה שאינה זקוקה לפרמטרים:
$myCalc->greet();קריאה למתודות עם פרמטרים:
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";קרא למתודה שגם מדפיסה וגם מחזירה ערך:
$product = $myCalc->multiply(4, 7);פלט:
Hello! I'm a calculator.
8
4 × 7 = 28מתודות יכולות:
- לקבל פרמטרים כמו
add($a, $b) - להחזיר ערכים כמו
return $a + $b;
- הדפס פלט ישירות כמו
echo "Hello!"; - בצע גם הדפסה וגם החזרה
נקודה חשובה: מתודות מגדירות מה האובייקטים שלך יכולים לעשות. השתמש במילות המפתח public function כדי להגדיר מתודה בתוך מחלקה. קרא למתודות באמצעות האופרטור -> על אובייקט.
אתגר
קלצרו מחלקה BankAccount בקובץ bank_account.php עם:
- מאפיין
public $balance - מתודה
depositשמקבלת סכום ומוסיפה אותו ליתרה - מתודה
withdrawשמקבלת סכום ומחסירה אותו מהיתרה - מתודה
getBalanceשמחזירה את היתרה הנוכחית
לאחר מכן, בקובץ driver.php, צרו חשבון עם יתרה 0, הפקידו $100, משכו $30 והדפיסו את היתרה בפורמט: "Current balance: $[balance]"
נסו בעצמכם
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: הפקד 100
// TODO: משוך 30
// TODO: הדפס את היתרה בפורמט: "Current balance: $[balance]"
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםמילת המפתח $thisמתודותמאפייניםבנאי (__construct)הורס (__destruct)חזרה: מחשבון פשוט4ירושה
ירושה בסיסיתמילת המפתח parent::דריסת מתודותמילת המפתח finalמחלקות מופשטותסיכום – היררכיית עובדים7כימוס
ציבורי, מוגן, פרטימפרטי גישה לעומקמתודות גישה ועדכוןהסתרת מידעקידום פרמטרים בבנאי (8.0)סיכום – מערכת רישומי תלמידים2מרחבי שמות וטעינה אוטומטית
מבוא למרחבי שמותמילת המפתח useתקן הטעינה האוטומטית PSR-4הטוען האוטומטי של Composerסיכום – פרויקט מאורגן5ממשקים וחוזים
מבוא לממשקיםמימוש ממשקיםמימוש של כמה ממשקיםממשק לעומת מחלקה מופשטתרמזי טיפוסים עם ממשקיםסיכום - מחשבון צורות8מתודות קסם
מבוא למתודות קסם__toString ו־__debugInfo__get, __set, __isset, __unset__call ו־__callStatic__clone ושיבוט אובייקטים__serialize ו־__unserializeסיכום – אוסף מותאם אישית3מאפייני מחלקה
מאפייני מופע לעומת מאפיינים סטטייםקבועים במחלקותמתודות ומאפיינים סטטייםמאפיינים פרטיים ומוגניםמאפיינים לקריאה בלבד (PHP 8.1)סיכום – מנהל חשבון בנק6פולימורפיזם
בחינה מחדש של דריסת מתודותפולימורפיזם באמצעות ממשקיםרמזי טיפוסים וטיפוסי איחודקישור סטטי מאוחרסיכום — מעבד תשלומיםתרגלו בעצמכם: קומפיילר PHP אונליין