זהירות
|
הקטע
הבא
תקף
ל
PHP
4
בלבד
.
|
לעיתים
זה
שימושי
לבצע
ייחוס
למשתנים
ופונקציות
במחלקת
הבסיס
או
להשתמש
בייחוס
לפונקציות
אשר
נמצאות
במחלקות
שעדיין
לא
יצרנו
להן
מופע
(
עדיין
לא
מומש
להן
אובייקט
)
.
האופרטור
:
:
משמש
לביצוע
משימה
זאת
.
הדוגמא
שלמעלה
קוראת
לפונקציה
example(
)
שבתוך
המחלקה
A
,
אבל
אין
אובייקט
למחלקה
A
,
ולפיכך
לא
ניתן
לכתוב
$a
-
example(
)
או
משהו
דומא
.
במקום
זאת
קראנו
לפונקציה
example(
)
כ
'פונקצית
מחלקה
'
,
כלומר
,
היא
משמשת
כפונקציה
של
המחלקה
עצמה
,
ללא
אוביקט
כלשהו
של
אותה
מחלקה
.
יש
פונקציות
במחלקה
,
אבל
אין
משתנים
במחלקה
.
למעשה
,
אין
אובייקט
כלשהו
בזמן
בו
נקרא
הפונקציה
לכן
,
פונקציות
של
המחלקה
לא
יכולות
להשתמש
במשתנים
של
האובייקט
(
אבל
הן
יכולות
להשתמש
במשתנים
גלובאליים
ומקומיים
)
,
והן
לא
יכולות
להשתמש
ב
-
$this
כלל
.
בדוגמא
שמעל
,
המחלקה
B
מגדירה
מחדש
את
הפונקציה
example(
)
.
ההגדרה
המקורית
בתוך
המחלקה
A
"מוצללת
"
ולא
מתקיימת
למעשה
,
עד
אשר
מייחסים
ספציפית
למימוש
של
example(
)
שבתוך
המחלקה
A
תוך
שימוש
באופרטור
:
:
.
הכתיבה
של
A::example(
)
עושה
זאת
(למעשה
,
רצוי
לכתוב
:
parent::example()
,
כפי
שיודגם
בחלק
הבא
)
.
בהקשר
זה
,
נוצר
אובייקט
וייתכן
שיהיו
לו
משתני
אובייקט
.
לכן
,
כשמשתמשים
במשתנים
מתוך
פונקצית
האובייקט
,
אפשר
להשתמש
ב
$this
ובמשתני
המחלק
.