→ חזרה לעמוד הקודם
// תרגול

תמע תרגול בסיסי

יסודות · 899371תכנות מונחה עצמים

דף תרגול: תכנות מונחה עצמים (OOP) ב-C#

עקרונות יסוד: מחלקות, תכונות, פעולות בונות, כימוס ופעולת ToString.

תזכורת מושגים

  • מחלקה (Class): תבנית / שבלונה להגדרת טיפוס נתונים חדש, המגדיר מה העצם יודע לשמור ומה הוא יודע לעשות.
  • תכונות (Fields): משתנים פרטיים השומרים את מצב האובייקט.
  • פעולות (Methods): פונקציות המגדירות את התנהגות האובייקט.
  • פעולה בונה (Constructor): מופעלת אוטומטית בעת יצירת עצם (new) ומאתחלת את ערכיו.

חלק א׳: תרגול חשיבה ותכנון

משימה 1: תכנון מחלקות ותכונות

עבור כל אחת מהמחלקות הבאות, הגדירו במחברתכם 3 תכונות מתאימות, כולל שם משמעותי וטיפוס נתונים מתאים, כגון string, int, double, bool, ו-2 פעולות הגיוניות.

שם המחלקהדרישות תכנון
Student (תלמיד)הגדירו 3 תכונות המאפיינות תלמיד ו-2 פעולות שתלמיד יכול לבצע או שמבוצעות עליו.
BankAccount (חשבון בנק)הגדירו 3 תכונות המאפיינות חשבון בנק ו-2 פעולות, למשל הפקדה ומשיכה.
Clock (שעון)הגדירו 3 תכונות המאפיינות שעון, למשל שעה, דקות ושניות, ו-2 פעולות מתאימות.

משימה 2: שאלות נכון / לא נכון

קבעו עבור כל היגד האם הוא נכון או לא נכון ונמקו במחברתכם:

  1. מחלקה היא עצם ממשי בזיכרון, ועצם הוא רק תוכנית הבנייה.
  2. לפעולה בונה (Constructor) אין טיפוס החזרה, אפילו לא void.
  3. המילה השמורה this משמשת להבדלה בין שדה במחלקה לבין פרמטר באותו שם.
  4. פעולות Get ו-Set מאפשרות שליטה ובקרה על שדות פרטיים - עקרון הכימוס (Encapsulation).

חלק ב׳: תרגול כתיבת קוד ב-C#

תרגיל 1: הגדרת שלד המחלקה ושדות פרטיים

כתבו במחברת או בסביבת הפיתוח מחלקה בשם Book הכוללת 4 שדות בהרשאת גישה פרטית (private):

  • כותרת הספר - title, מחרוזת.
  • שם המחבר - author, מחרוזת.
  • מספר עמודים - pages, מספר שלם.
  • האם בכריכה קשה - isHardcover, ערך בוליאני.
public class Book
{
    // הגדירו את ארבע התכונות הפרטיות
}

תרגיל 2: הוספת פעולות בונות (Constructors)

הוסיפו למחלקה Book:

  1. פעולה בונה ברירת מחדל, ללא פרמטרים, המאתחלת את השדות לערכים ראשוניים מתאימים, כגון מחרוזות ברירת מחדל, 0 ו-false.
  2. פעולה בונה עם פרמטרים, המקבלת 4 ערכים ומבצעת השמה לכל השדות תוך שימוש במילה השמורה this.
// חתימות הפעולות הבונות למימוש
public Book()
{
}

public Book(string title, string author, int pages, bool isHardcover)
{
}

תרגיל 3: פעולות Get / Set ופעולת ToString

הוסיפו למחלקה Book:

  1. פעולת גישה GetPages המחזירה את מספר העמודים.
  2. פעולת עדכון SetPages המקבלת מספר עמודים ומעדכנת את השדה. הוסיפו בדיקה שהערך אינו שלילי.
  3. פעולת ToString() המחזירה מחרוזת ייצוגית ומפורטת של כל תכונות האובייקט.
public int GetPages()
{
}

public void SetPages(int pages)
{
}

public string ToString()
{
}
הורדת הקובץ המקוריPDF · תמע תרגול בסיסי