מדריך PHP: תכנות מונחה עצמים – פולימורפיזם, overloading ומתודות קסם

פולימורפיזם הוא בעצם שימוש באותה מתודה לביצוע דברים כאשר מה שאנו עושים באמצעות המתודה משתנה בהתאם למשתנים שלנו (בהתאם לסוג שלהם או למספר שלהם). למשל בשפת C הפונקציה הפולימורפית (sum(int,...

תגיות: , ,

המשך

מדריך PHP: תכנות מונחה עצמים – interface

אתם בוודאי זוכרים שבמאמר על class אבסטרקטי הראיתי דרך ליצור מתודה אבסרקטית על מנת לוודא שב-class שיורש מה-class האבסטרקטי תהיה בוודאות גם מתודה כמתודה האבסטרקטית. אינטרפייס עושה משהו דומה, רק...

תגיות: , ,

המשך

מדריך PHP: תכנות מונחה עצמים – כימוס

במאמר קודם למדנו על הורשה המאפשרת לנו להעביר תכונות ומתודות מ-class אחד ל-class אחר. באמצעות כימוס אנו יכולים לשלוט על מי יכול לגשת את התכונות והמתודות שלנו ב-class שלנו. יש...

תגיות: , ,

המשך

מדריך PHP: תכנות מונחה עצמים – הורשה

הורשה היא בעצם סוג של הרחבה. אם יש לי class מסוג א' ואני רוצה ליצור class מסוג ב' שמכיל את התכונות והמתודות של class א', אני לא צריך לעשות copy&paste...

תגיות: , ,

המשך

מדריך PHP: תכנות מונחה עצמים – הקדמה

נשאלת השאלה למה בדיוק ללמוד תכנות מונחה עצמים? יש לכך שתי תשובות ברורות: 1. יש לא מעט מערכות בשוק שמשתמשות בתכנות מונחה עצמים. מערכת כמו ג'ומלה למשל היא מונחית עצמים....

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: אוספים מותאמים וסדרנים (Indexers)

לעיתים נרצה לבנות Collection (אוסף) משלנו אשר יכיל בתוכו אובייקטים מסוג שאנו נבנה ויספק לנו את הפונקציונאליות הקשורה לאובייקטים שלנו. ישנם הרבה דרכים ליצור Custom collection, החלק מלבנות מאפס ועד...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: ממשקים – Interfaces

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: הרשאות גישה

להלן טבלה המסכמת את הרשאות הגישה ב- #C:   רמת נגישות המשמעות האם חל על namespaces ? האם חל על Types ? (enum, struct, class, interface, delegate) האם חל על...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: מחלקה אבסטרקטית

מחלקה אבסטרקטית הינה מחלקה אשר מהווה בסיס למחלקות אחרות, אך אין לנו באמת צורך באובייקטים ממנה בתוכנית. בכדי ליצור מחלקה אבסטרקטית יש לכתוב abstract לפני שם ה- class לא ניתן...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: רב צורתיות – Polymorphism

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

תגיות: , ,

המשך