במחלקה מורחבת (extended) לפעמים תרצה לפנות לפונקציות מסויימות ממחלקת הבסיס (ההורה). ניתן לעשות זאת ע"י שימוש בשם של מחלקת ההורה ובאופרטור ::. אך אם תשנה את שם מחלקת ההורה מתישהו, תצטרך לשנות את כל השמות בקריאות למחלקת ההורה. PHP עושה לך את העבודה לנוחה וקלה יותר עם המילה השמורה parent, שבעצם מתייחסת למחלקת ההורה של המחלקה המורחבת בה היא נמצאת.
הדוגמא הבאה ממשיכה את הדוגמא מהפרק הקודם:
<?php class D extends C { function func1()
/*
שכתוב הפונקציה func1() ממחלקת הבסיס C.
*/
{ echo "You are in func1() of class D..."; echo "<BR>Calling to func1() of the parent class: "; parent::func1();
/*
קריאה לפונקציה המקורית func1() ממחלקת הבסיס C. על-אף ששכתבנו את הפונקציה הזו הקריאה תפעיל את הפונקציה המוגדרת במחלקה C.
*/
} }
D::func1(); ?>
תגובות בנושא
בקשר לparent
08-12-04 08:02 איתן בןאב
#1744
מה קורה כשיש מחלקה בסיס A
מחלקה מורחבת B
ומחלקה מורכבת של B ששמה C
ותכתוב ב-C קריאה לפונקציה באמצעות parent לאיזה מחלקה זה יתייחס A או B ?