03-06-2006, 17:32
|
|
|
|
חבר מתאריך: 02.10.05
הודעות: 2,355
|
|
ממש לא נכון!
כמו ש- GreenBeret אמר, ואני מוסיף קצת..
יש לנו מחלקה בשם sysNfo עם הפונקציות showProg ו- sysNfo שהיא פונקציית בנאי.
במקרה אחד יש לנו:
שפשוט מפעיל את הפנקציה showProg, אבל, אם נשתמש בדרך הזאת, כל הרעיון של OOP יהרס, כי ככה הופכים את המחלקה לסתם מספר פונקציות "מסודרות".
כמו שאמרו בעבר, לאוביקט יש "תכונות" שהם משתנים הנמצאים במחלקה ושמורים לה.
לכן, במקרה הזה:
קוד PHP:
$sN = new sysNfo("linux", 4, "fedora"); $sN->showProg();
התוצאות יהיו שונות, למה?
כי לפי עיקרון ה- OOP יש פונקציות ומשתנים, כאשר הפונקציות מסמכות על המשתנים, במקרה הראשון, המשתנים לא הוגדרו, ככל הנראה תבוצע שגיאה, כי, לפחות במקרה שלנו, לא ידועה מערכת הפעלה וגירסא, ובמקרה של לינוקס, גם הפצה.
במקרא הראשון, לא נקראה פונקציית הבנאי, שמפיעה על הפונקציות האחרות, ולפעמים, עושה פעולות שונות, במקרה שלנו, היא יכולה למשל להכין את המערכת לפעולת המחלקה.
לכן בדרך הראשונה אני לא משתמש כמעט, בגלל שאם כך, למה צריך בכלל OOP?, אפשר להשתמש בפונקציות...
_____________________________________
|