02-08-2005, 22:25
|
|
|
חבר מתאריך: 20.12.01
הודעות: 20,962
|
|
שוב עשר! :)
רק לחדד טיפונת: הרעיון של OO אינו אובייקט שיש לו SET ו-GET במקום משתנים,
אלא אובייקט שיש לו תכונות, שיטות ואירועים. זה שבוחרים לממש שיטות באמצעות
פונקציות ותכונות באמצעות משתנים(ואירועים באמצעות callback function) לא קשור
לממשק או ללוגיקה, ולכן לא אמור לעניין אף-אחד חוץ מהמפתח עצמו.
ומעניין לעניין באותו עניין(אם כבר אז כבר): באותה מידה חשוב להבין שהקשר בין
פולימורפיזם להורשה הוא רק ברמת המימוש של CPP(בחרו לממש רב-צורתיות דרך
ירושה), אבל בשפות כמו ג'אווה העלימו את השטות הזו, והכניסו את מושג הממשק
(שהיה ניתן ל"זיוף" ב-CPP כ-pure virtual class), והפסיקו לקרוא לתהליך "ירושה",
שכן ממילא אין מה לרשת ממשק אלא מימוש של ממשק.
ובאופן כללי יותר: המטרה של OO היא פישוט. בתכלס זה אומר שעובדים על בסיס
need-to-know. מי שלא אמור לדעת מה קורה בתוך הקוד שלך - לא ידע את זה.
האמצעים יכולים להיות שימוש בחברים פרטיים, או במקרה שלנו, שימוש במבנים
תכנותיים מיוחדים כממשק ל"בפנוכו" של האובייקט.
|