המשימה
נתונה המחלקה Person עם תכונה פרטית אחת: שם.
בנה מחלקה בשם Student **שיורשת** מ-Person ומוסיפה תכונה אחת: ציון.
המחלקה Student תכלול:
• בנאי שמקבל שם וציון, ומעביר את השם לבנאי של האב.
• פעולה מאחזרת לציון.
• דריסה של הפעולה describe: היא תחזיר את השם, רווח, ואז את הציון
בסוגריים.
דוגמאות:
Person בשם Dana → describe מחזיר Dana
Student בשם Yossi, 95 → describe מחזיר Yossi (95)
הנחיות:
• השם שמור בתכונה **פרטית** של האב, ולכן Student אינו יכול לגשת אליו
ישירות. הוא ניגש אליו דרך הפעולה המאחזרת שהאב מספק. זו הנקודה
המרכזית בתרגיל.
• הקריאה לבנאי האב חייבת להיות השורה הראשונה בבנאי של הבן.
• אל תשכפל את התכונה name לתוך Student. אם עשית זאת — ההורשה לא
נוצלה, ויש שני שמות שונים באותו עצם.
```ds:table
{"title":"הפלט הצפוי","rows":[["עצם","describe"],["Person(\"Dana\")","Dana"],["Student(\"Yossi\", 95)","Yossi (95)"],["Student(\"Noa\", 100)","Noa (100)"]]}
```
קוד הפתיחה
using System;
class Person {
private string name;
public Person(string name) {
this.name = name;
}
public string GetName() {
return this.name;
}
public virtual string Describe() {
return this.name;
}
}
class Student : Person {
// הוסף כאן את התכונה grade — ורק אותה
public Student(string name, int grade) : base(name) {
// אתחל את grade
}
public int GetGrade() {
return 0;
}
public override string Describe() {
// החזר "שם (ציון)" — היעזר ב-GetName
return "";
}
}
class Program {
static void Main() {
Person p = new Person("Dana");
Student s = new Student("Yossi", 95);
Console.WriteLine(p.Describe()); // Dana
Console.WriteLine(s.Describe()); // Yossi (95)
Console.WriteLine(s.GetName()); // Yossi
Console.WriteLine(s.GetGrade()); // 95
Person[] all = { p, s, new Student("Noa", 100) };
for (int i = 0; i < all.Length; i++) {
Console.WriteLine(all[i].Describe()); // Dana / Yossi (95) / Noa (100)
}
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.