הורשות

לעיים קרובות , זקוקים למחלקות עם עם משתנים ופונקציות דומות למשתנים ומחלקות בפונקציות אחרות . למעשה , זה נוהג טוב להגדיר מחלקה כללית שיכולה לשמש אותך בכל הפרוייקטים שלך ולהתאים את מחלקה זאת לצרכי כל אחד מהפרוייקטים ספציפת . לסייע בזאת , מחלקות יכולות להיות הרחבות של מחלקות אחרות . למחלקה שמרחיבה או היורשת יש את כל המשתנים והפונקציות של המחלקה הבסיסית ( זה נקרא 'ירושה ' למרות העובדה שאף אחד לא מת ) וכן את מה שאתה מוסיף לה (פונקציות ומשתנים נוספים ) זה בלתי אפשרי לבטל הגדרה של משתנה או פונקציה כלשהי במחלקה . מחלקה מרחיבה , נשענת לעולם על בסיס של מחלקה אחת בלבד,וזאת בגלל , שהורשה מרובה לא נתמכת . מחלקות מורחבות תוך שימוש במילה השמורה 'extends ' .




בדוגמא הנ" ל הוגדרה מחלקה Named_Cart שיש לה את כל הפונקציות והמשתנים של Cart בנוסף למשתנה $owner ולפנוקציה נוספת בשם set_owner( ) . יוצרים את העדלה בדרך הרגילה , אלא שאפר גם לקבוע ערכים ולקרוא את הערכים של בעל העגלה . עדיין אפשר להשתמש פונקציות הרגילות של העגלה .

 
$ncart

 
=

 
new

 
Named_Cart

 
;

 
/

 
/

 
יצירת

 
אובייקט

 
$ncart

 
-

 
set_owner("kris")

 
;

 
/

 
/

 
הכנסת

 
שם

 
של

 
בעלים

 
לאותה

 
עגלה

 
print

 
$ncart

 
-

 
owner

 
;

 
/

 
/

 
הצגה

 
של

 
ערך

 
הבעלים

 
של

 
העגלה

 
$ncart

 
-

 
add_item("10"

 
,

 
1)

 
;

 
/

 
/

 
שימוש

 
בפונקציה

 
שהורשנו

 
מתוך

 
cart