יום שלישי, 12 במרץ 2013

מחלקות ועצמים- חלק 1


מחלקות ועצמים
מהי מחלקה?
מחלקה היא בעצם הגדרה לקבוצה של תכונות ופעולות שמימושה של המחלקה הוא למעשה עצם.
לדוגמה: לכל אזרח יש ת.ז, שם ושם משפחה , אלה הם התכונות של אותו אזרח. אותו אזרח יכול לבצע גם פעולות מסוימות כמו להפגין בצעקות, ולהצביע בקלפי.
יוסי הוא אזרח, הוא למעשה המימוש להגדרה של אזרח.
איך זה בא לידי ביטוי בתיכנות?
ניצור מחלקה שתגדיר למעשה מה הוא אזרח:
class Civilian                                                    //כך אנו מגדירים למעשה מחלקה שקוראים לה אזרח
{                                                                          //פתיחת בלוק לסימון תחילת המחלקה
public int id;                                                                    //הגדרת התוכנה ת.ז
public string name;                                                        //הגדרת התכונה שם
public string last_name;                                               //הגדרת התכונה שם משפחה
public void protest(string sentence)           //הגדרת הפעולה הפגנה
{
….                                                                       //מימוש הפעולה הפגנה
}
public void vote()              //הגדרת הפעולה הצבעה
{
….                                                                       //מימוש הפעולה הצבעה
}

}                                                                                         //סגירת בלוק המחלקה לסימון סגירת המחלקה
*נשים לב שכל תוכנה ופעולה מתחילה כאן במילה השמורה public, שכרגע כל מה שיש לדעת זה שזה מאפשר גישה לתכונות ולפעולות כשאר ממשים את העצם.

עכשיו שהגדרנו מהו אזרח, ומה הוא יכול לעשות נוכל ליצור מישהו שהוא אזרח, לדוגמה את יוסי:
Public static main()
{
Civilian y=new Civilian();                               //כך אנו יוצרים את האובייקט(עצם) יוסי
y.id=302913694;                                                            //כך אנו מעדכנים את הת.ז של העצם וואי
y.name="Yossi";                                                            //כך אנו מעדכנים את השם של העצם וואי
y. last_name ="Cohen";                                //כך אנו מעדכנים את השם משפחה של העצם וואי
Console.WriteLine("id:"+y.id);                     //כך אנו שולפים את הת.ז מהעצם וואי ומדפיסים אותו
Console.WriteLine("id:"+y.name);              //כך אנו שולפים את השם מהעצם וואי ומדפיסים אותו
y.vote();                                                            //ע"י הפעולה כך אנו גורמים לעצם יוסי להצביע
}

מערך עצמים:
לפעמים יש לנו צורך ליצור כמות של עצמים, לדוגמה יש לנו תוכנה ששומרת 100 אזרחים במאגר שלה, שכולל שם, שם משפחה ות.ז, ואותם אזרחים יכולים להצביע ולמחות(כמו המחלקה שיצרנו קודם).
אנחנו לא נעשה 100 שורות אתחול של עצמים, בדיוק כמו שלא נעשה 100 שורות של מספר שלם(int). אנו ניצור מערך של 100 אזרחים.
Civilian[] array=new Civilian[100];
*חשוב לזכור-כרגע יצרנו 100 הפניות לעצמים מטיפוס Civilian, אך לא ל100 אזרחים. על מנת להכניס למערך ההפניות מטיפוס Civilian 100 אזרחים יש לעבור בלולאה תא תא, וליצור אזרח.
כך:
for(int i=0;i<100 i="" p="">
{
array[i]=new Civilian();
array[i].name=Console.ReadLine();
array[i].last_name=Console.ReadLine();
array[i].id=int.Parse(Console.ReadLine());
}

אין תגובות:

הוסף רשומת תגובה