לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 03-06-2006, 17:32
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 4 שנכתבה על ידי DCD שמתחילה ב "בקשר לשאלה הראשונה, אין כל כך..."

ממש לא נכון!

כמו ש- GreenBeret אמר, ואני מוסיף קצת..
יש לנו מחלקה בשם sysNfo עם הפונקציות showProg ו- sysNfo שהיא פונקציית בנאי.
במקרה אחד יש לנו:
קוד PHP:
 sysNto::showProg

שפשוט מפעיל את הפנקציה showProg, אבל, אם נשתמש בדרך הזאת, כל הרעיון של OOP יהרס, כי ככה הופכים את המחלקה לסתם מספר פונקציות "מסודרות".
כמו שאמרו בעבר, לאוביקט יש "תכונות" שהם משתנים הנמצאים במחלקה ושמורים לה.
לכן, במקרה הזה:
קוד PHP:
 $sN = new sysNfo("linux"4"fedora");
$sN->showProg(); 

התוצאות יהיו שונות, למה?
כי לפי עיקרון ה- OOP יש פונקציות ומשתנים, כאשר הפונקציות מסמכות על המשתנים, במקרה הראשון, המשתנים לא הוגדרו, ככל הנראה תבוצע שגיאה, כי, לפחות במקרה שלנו, לא ידועה מערכת הפעלה וגירסא, ובמקרה של לינוקס, גם הפצה.
במקרא הראשון, לא נקראה פונקציית הבנאי, שמפיעה על הפונקציות האחרות, ולפעמים, עושה פעולות שונות, במקרה שלנו, היא יכולה למשל להכין את המערכת לפעולת המחלקה.

לכן בדרך הראשונה אני לא משתמש כמעט, בגלל שאם כך, למה צריך בכלל OOP?, אפשר להשתמש בפונקציות...
_____________________________________


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 01-06-2006, 09:31
  GreenBerret GreenBerret אינו מחובר  
 
חבר מתאריך: 13.12.05
הודעות: 1,963
בתגובה להודעה מספר 3 שנכתבה על ידי ryan ariel levi שמתחילה ב "אוקי"

ההבדל הוא מהותי, וצריך להבין אותו.
קוד PHP:
 cls::fnc() 
כאן אתה קורה לפונקציה שקיימת בתוך הclass ואתה משתמש בה בתור פונקציה.


קוד PHP:
 $object = new cls();
$object->fnc() 
נניח לצורך הדוגמא, שאנחנו משתמשים באותה מחלקה ובאותה פונקציה.
במקרה הזה הפונקציה אומנם מבצעת את אותן פעולות אבל היא מבצעת אותן בהסתמך על מה שמוגדר בתוך object.

לדוגמא,
כשאתה קורה לפונקציה באופן הראשון, היא מופעלת בצורה מאופסת - לכן אם יהיו לך משתנים "פרטיים" ששייכים אך ורק למחלקה, הם לא יהיו קיימים/מאותחלים.
כשאתה קורה לה באופן השני המשתנים כבר מאותחלים או לא בהתאם למה שקיים בתוך object.

זה הסבר קצר, וגם על רגל אחת. אפשר להרחיב עוד ועוד, אבל ההבדל הוא מהותי.

נערך לאחרונה ע"י GreenBerret בתאריך 01-06-2006 בשעה 09:36.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:29

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר