![]() |
PHP OOP
שלום , אני מתחיל ללמוד על OOP ת ולא הבנתי מתי להשתמש ב- PRIVATE ומתי להשתמש ב PUBLIC.
אשמח על הסבר קטן , תודה. |
יש מדריכים מצויינים בפורום המדריכים. לדוגמא:
http://www.hosts.co.il/forums/tags.p...3%F8%E9%EA+oop הרעיון הוא ליצור מחלקה שחלקה נגישה כלפי חוץ וחלקה לא. אתה ממש צריך להתחבר לסגנון העבודה בשביל להבין את זה.. הייתי ממליץ להעמיק בחומר, זה יבוא לבד (ואם לא, שאל שוב) |
יש דברים שאתה רוצה וצריך שיהיו נגישים מבחוץ, ויש דברים שלא צריך, ואולי אפילו יכול להיגרם נזק אם אפשר יהיה לשנות אותם\להשתמש בהם לא בזמן,לכן אתה "נועל" אותם לבפנים בלבד.
|
אוקי , כלומר , אם אני מגדיר פונקציה כ- PRIVATE , אני לא יוכל לעשות variable ->function בתוכנית הראשית ? אבל אני יוכל לפנות אליה מפונקציה אחרת בתוך המחלקה?
|
בדיוק. יש הגדרה נוספת, protected, שמאפשרת לך לגשת לפעולה רק מתוך המחלקה וממחלקות הנגזרות ממנה (Inheritance).
|
private כשמו אומר שהמשתנה או פרטי והוא לשימוש המחלקה בלבד. כלומר במידה והגדרת למחלקה משתנה private בשם name בקוד php לא תוכל לגשת אל PHP קוד:
|
אוקי תודה הבנתי.
ובנוגע להורשה , כאשר אני מציין class engine extends cars אני מייבא את המשתנים שמוגדרים בתוך CARS אל ENGINE ואני יכול להשתמש עם השמות של המשתנים והתוכן שלהם במחלקה ENGINE? |
אלו שהוגדרו פתוחים, ואגב כך, לא הגיוני להוריש מכונית למנוע - שכן בתוך מכונית יש מנוע ולא להיפך. יותר הגיוני ליצור מודל "רכב" ובו לשים מאפיין מנוע (שיכול להפנות לאובייקט מנוע אם תרצה), והרכב יוריש למחלקה של רכב פרטי, משאית וכו'..
|
extends - כלשונו, מאריך\מוסיף על מה שכבר יש.
כלומר, נניח ויש לך קלאס ג'נרי של מכונית, הרי שעכשיו תאריך אותו\תשנה אותו\ תוסיף עליו. class ToyotaCorola extends car class MitsubishiSpacewagon extends car ומשם אתה מוסיף\משנה, ככה שיוצא מכונית יחודית, ולא ה car ה"ג'נרי", האב טיפוס אם לאמר. |
תודה הבנתי.
|
כל הזמנים הם GMT +2. הזמן כעת הוא 04:58. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ