נתונות 2 המחלקות הבאות:
public class AA{
public AA(){
Console.WriteLine("AA constructor");
}
public virtual void One() {
Console.WriteLine("One in AA");
}
public virtual void Two() {
One();
}
}
public class BB : AA{
public BB(){
Console.WriteLine("BB constructor");
}
public override void One(){
Console.WriteLine("One in BB");
}
public override void Two() {
Console.WriteLine("Two in BB");
}
public void Three() {
base.Two();
}
}
(א)נתון קטע הקוד הבא (מספרי שורות אינם חלק מהקוד):
```csharp
(1) AA a = new AA();
(2) BB b = new BB();
(3) AA ab = new BB();
(4) a.One();
(5) ab.One();
(6) b.One();
(7) a.Two();
(8) ab.Two();
(9) b.Two();
(10) ((BB)(ab)).Three();
(11) b.Three();
```
1. עקבו אחרי ביצוע קטע הקוד ורשמו מה יהיה הפלט.
2. האם אפשר להוסיף לקטע הקוד את 2 הפקודות הבאות? הסבירו את תשובתכם:
```csharp
a.Three();
((BB)a).Three();
```
```csharp
(1) AA a = new AA();
(2) BB b = new BB();
(3) AA ab = new BB();
(4) a.One();
(5) ab.One();
(6) b.One();
(7) a.Two();
(8) ab.Two();
(9) b.Two();
(10) ((BB)(ab)).Three();
(11) b.Three();
```
1. עקבו אחרי ביצוע קטע הקוד ורשמו מה יהיה הפלט.
2. האם אפשר להוסיף לקטע הקוד את 2 הפקודות הבאות? הסבירו את תשובתכם:
```csharp
a.Three();
((BB)a).Three();
```
(ב)כתבו פעולה המקבלת מערך הפניות לעצמים מסוג Object. הפעולה תדפיס כמה עצמים הם מסוג BB, כמה עצמים הם מסוג AA ולא סוג BB, וכמה עצמים הם לא מסוג AA.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות