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

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



  #2  
ישן 29-11-2006, 07:19
  NitzanRaz NitzanRaz אינו מחובר  
 
חבר מתאריך: 17.09.06
הודעות: 24
בתגובה להודעה מספר 1 שנכתבה על ידי eizibizi שמתחילה ב "בקשת עזרה דחופה בפולימורפיזים..."

בוקר טוב, מקווה שאני לא מאחר.
אוברלואדינג אומר שאתה לוקח שתי פונקציות, קורא להן אותו דבר, ומשנה את הסוג שהן מחזירות ואת הפרמטרים שלהן. בוא נסתכל על הדוגמה Console.WriteLine. יש הרבה מאוד פונקציות שנקראות ככה, הנה שתיים:
public void Console.WriteLine()
public void Console.WriteLine(string Line(
(סורי על הסוגריים שעברו צד, אני שונא את היישור במערכת פורומים הזו)
לא זוכר את הניסוח המדוייק, אבל זה בערך ככה. מה אנחנו רואים? יש שתי פונקציות שקוראים להן בשם WriteLine, וכשאתה קורא לפונקציה בשם כזה, הקומפיילר מחליט לאיזו מהן אתה מצפה לפי הפרמטרים שאתה מעביר. במקרה שלנו - אם העברת סטרינג, הוא קורא לפונקציה מס' 2. אם לא העברת כלום - הוא קורא לפונצקיה מס' 1. הפרמטרים חייבים להיות שונים, השם חייב להיות זהה, הטיפוס המוחזר יכול להיות שונה.
האלה, האובלואדינג. זה בעצם לקחת פונקציה שירשת (כל אובייקט יורש משהו מהמחלקה object תמיד), ולדרוס אותה עם פונקציה שמבצעת את התפקיד יותר טוב. זה הולך ככה:
Class Original
{
public virtual void Bla() {...}
}
Class Decendent:Original
{
public override void Bla() {...}
}
זה בערך הכל. אם מטודה היא וירטואלית, אפשר לדרוס אותה. אם היא אבסטרקטית, חייבים לדרוס אותה. מקווה שעזרתי,


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.03 שניות עם 12 שאילתות

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

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