נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: C# שאלות על מחלקות בנאים וריפירינסים..

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
snoop
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 30 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 197
נשלח בתאריך: 16 September 2006 בשעה 14:29 | IP רשוּם
ציטוט snoop

טוב יש לי מלא שאלות..

נתחיל מהשאלה הראשונה..

אני מבין שבנאים הם מתודות מיוחדות שמטרתן להתחל את אובייקט ה DATA MEMBER ברגע שנוצר אובייקט...

כבר את ההגדרה אני לא מבין מה משמעות המילה להתחל?

עכשיו מה השימוש לבנאים נגיד זה הקוד:

public Student()
{
}

public Student(string name,string lastname)
{
  m_name=name;
  m_lastname=lastname;
}

שם הבנאי Student כשם של מחלקה..

עכשיו אני הגדרתי שני בנאים  על בנאי אחד העמסתי ועל השני לא..

השאלה שלי היא למה עשיתי את זה? מה זה נותן לי? אני מבין שאני יכול לכתוב 100 בנאים לכל משתמש אבל מה זה נותן לי?

עכשיו בקטע של הMain לא המחלקה אני מגדיר משתנה:

Student s1 = new student ();

 

עכשיו בלי המילה new זה refference (או איך שלא כותבים את זה)...שוב לי מושג מה משמעות המילה הזאת ..

אחרי שאני כותב new אני מקצה לא מקום בheap? נכון?

עכשיו לשאלה האחרונה..

אני מגדיר משתנים Private

ואז אני יוצר מתודה כזאת:

class student
{
    private name;
    private fname;
}

public void set(m_name,m_fname)
{
   name=n_name;
   fname=m_fname;

}

עכשיו בMainאני רושם:


student e1 = new student();
e1.set(snoop,big);

עכשיו את השורה הראושנה אני לא מבין אני ישמח עם תסבירו לי למה צריך את הNew
אחר כך אני מייחס למשתנה e1 את המתודה set ואני שולח לה את הsnoop ו big

המתודה מקבלת אותם מציבה אותם במשתנים שהם private ...

נכון

בבקשה תסבירו!

חזרה לתחילת העמוד הצג את כרטיס החבר של snoop חפש הודעות אחרות של snoop בקר בדף הבית של snoop
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 16 September 2006 בשעה 14:51 | IP רשוּם
ציטוט shoshan

אתה שם בנאים שונים כדי שתוכל לקרוא לכל אחד מהם כשאתה משתמש ב-new.

לדוגמא, אתה יכול לעשות בנאי אחד שלא מקבל כלום וקובע שם ל-"nothing" וגיל ל-0,
עוד אחד שמקבל רק גיל ושם שם ל-"nothing"
ועוד אחד שמקבל שם וגיל.

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

בקשר למה שרשמת, C# רגישה לגודל  האות ולכן student שונה מ-Student, אבל אם נתעלם מזה,
student s1 מגדיר אובייקט חדש (מופע של המחלקה) ו-new מאתחלת את האובייקט.


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 

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

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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