שאלה 14 (Java) ושאלה 16 (C#). נתונות המחלקה A והמחלקה B היורשת מ-A.
ההוראה A a1 = new B(); עוברת הידור ורצה בצורה תקינה. בעבור כל אחד מן המשפטים i-iii שלפניך, קבע אם המשפט נכון או אינו נכון. הסבר.
i. אי־אפשר לכתוב את ההוראה Object obj = a1;, מכיוון שדרושה המרה מפורשת (casting).
ii. אי־אפשר לכתוב את ההוראה A a2 = a1;, מכיוון שדרושה המרה מפורשת (casting).
iii. אי־אפשר לכתוב את ההוראה B b1 = a1;, מכיוון שדרושה המרה מפורשת (casting).
במחלקה Program נתונה הפעולה main / Main:
Java:
java1public static void main(String[] args) { 2 C c = new A(); 3 B b1 = (B) (new A()); 4 B b2 = new D(); 5 A a = new D(); 6}
C#:
csharp1public static void Main(string[] args) { 2 C c = new A(); 3 B b1 = (B) (new A()); 4 B b2 = new D(); 5 A a = new D(); 6}
קבע איזו מן האפשרויות i-v מתארת קשר אפשרי בין המחלקות, לפי הפעולה הנתונה.
נתונות הגדרות של המחלקות City ו-School. כדי שלא תהיה שגיאת הידור, איזו השלמה מתאימה לשורה המסומנת (1)? בחר מבין האפשרויות (public/private/protected).
Java:
java1public class City { 2 (1) int students; 3} 4public class School extends City { 5 void poll() { System.out.println("There are "+ students + " in the school "); } 6}
C#:
csharp1public class City { 2 (1) int students; 3} 4public class School: City { 5 void Poll() { Console.WriteLine("There are "+ students + " in the school "); } 6}
לפניך הגדרה של המחלקה Quest:
Java:
java1public class Quest { 2 private int num; 3 private static int count = 0; 4 public Quest() { 5 count++; 6 num = count; 7 } 8 public void printNow() { 9 System.out.println(num+" "+count); 10 } 11}
C#:
csharp1public class Quest { 2 private int num; 3 private static int count = 0; 4 public Quest() { 5 count++; 6 num = count; 7 } 8 public void PrintNow() { 9 Console.WriteLine(num+" "+count); 10 } 11}
קבע כמה עצמים (אובייקטים) יש לייצר מן המחלקה Quest, ועל איזה מהם יש להפעיל את הפעולה printNow / PrintNow, כדי שהפלט יהיה 3 5.
שאלה 14 (Java) ושאלה 16 (C#). נתונות המחלקה A והמחלקה B היורשת מ-A.
ההוראה A a1 = new B(); עוברת הידור ורצה בצורה תקינה. בעבור כל אחד מן המשפטים i-iii שלפניך, קבע אם המשפט נכון או אינו נכון. הסבר.
i. אי־אפשר לכתוב את ההוראה Object obj = a1;, מכיוון שדרושה המרה מפורשת (casting).
ii. אי־אפשר לכתוב את ההוראה A a2 = a1;, מכיוון שדרושה המרה מפורשת (casting).
iii. אי־אפשר לכתוב את ההוראה B b1 = a1;, מכיוון שדרושה המרה מפורשת (casting).
במחלקה Program נתונה הפעולה main / Main:
Java:
java1public static void main(String[] args) { 2 C c = new A(); 3 B b1 = (B) (new A()); 4 B b2 = new D(); 5 A a = new D(); 6}
C#:
csharp1public static void Main(string[] args) { 2 C c = new A(); 3 B b1 = (B) (new A()); 4 B b2 = new D(); 5 A a = new D(); 6}
קבע איזו מן האפשרויות i-v מתארת קשר אפשרי בין המחלקות, לפי הפעולה הנתונה.
נתונות הגדרות של המחלקות City ו-School. כדי שלא תהיה שגיאת הידור, איזו השלמה מתאימה לשורה המסומנת (1)? בחר מבין האפשרויות (public/private/protected).
Java:
java1public class City { 2 (1) int students; 3} 4public class School extends City { 5 void poll() { System.out.println("There are "+ students + " in the school "); } 6}
C#:
csharp1public class City { 2 (1) int students; 3} 4public class School: City { 5 void Poll() { Console.WriteLine("There are "+ students + " in the school "); } 6}
לפניך הגדרה של המחלקה Quest:
Java:
java1public class Quest { 2 private int num; 3 private static int count = 0; 4 public Quest() { 5 count++; 6 num = count; 7 } 8 public void printNow() { 9 System.out.println(num+" "+count); 10 } 11}
C#:
csharp1public class Quest { 2 private int num; 3 private static int count = 0; 4 public Quest() { 5 count++; 6 num = count; 7 } 8 public void PrintNow() { 9 Console.WriteLine(num+" "+count); 10 } 11}
קבע כמה עצמים (אובייקטים) יש לייצר מן המחלקה Quest, ועל איזה מהם יש להפעיל את הפעולה printNow / PrintNow, כדי שהפלט יהיה 3 5.