טוען...
טוען...
לפניכם המחלקות A, B ו-Tester:
public class A {
public A() { System.out.println("ctor A"); }
public void foo(int x) {
System.out.println("A foo int " + x);
}
public void foo(double y) {
System.out.println("A foo double " + y);
}
public void bar(int x) {
System.out.println("A bar " + x);
foo(x);
}
}
public class B extends A {
public B() { System.out.println("ctor B"); }
public void foo(int x) {
System.out.println("B foo int " + x);
}
public void bar() {
System.out.println("B bar");
foo(2);
}
public void another(int x) {
System.out.println("B another " + x);
super.foo(x);
foo(2.0 * x);
}
}
public class Tester {
public static void main(String[] args)
{
}
}לפניכם 15 קטעי קוד. בחרו עשרה מהם.
הציבו כל אחד מקטעי הקוד שבחרתם בפעולה main במחלקה Tester, כתבו את מספר הקטע וציינו אם הקוד תקין או אינו תקין. אם הקוד תקין — כתבו את הפלט, ואם הוא אינו תקין — הסבירו את השגיאה. קטעי הקוד אינם קשורים זה לזה.
A a = new A(); a.foo(2);A a = new A(); ((B)a).foo(3);A a = new A(); B b = a; b.foo(2);A x = new B(); x.foo(2);A x = new B(); x.bar();A a = new A(); a.bar(3);A a = new A(); a.bar();B b = new B(); b.bar();B b = new B(); b.bar(3);B b = new B(); b.foo(2); b.foo(2.0);A a = new A(); a.foo(2); a.foo(2.0);B b = new A(); b.another(2);A a = new A(); a.another(2);B x = new B(); x.another(2);A x = new B(); x.another(2);לפניכם המחלקות A, B ו-Tester:
public class A {
public A() { System.out.println("ctor A"); }
public void foo(int x) {
System.out.println("A foo int " + x);
}
public void foo(double y) {
System.out.println("A foo double " + y);
}
public void bar(int x) {
System.out.println("A bar " + x);
foo(x);
}
}
public class B extends A {
public B() { System.out.println("ctor B"); }
public void foo(int x) {
System.out.println("B foo int " + x);
}
public void bar() {
System.out.println("B bar");
foo(2);
}
public void another(int x) {
System.out.println("B another " + x);
super.foo(x);
foo(2.0 * x);
}
}
public class Tester {
public static void main(String[] args)
{
}
}לפניכם 15 קטעי קוד. בחרו עשרה מהם.
הציבו כל אחד מקטעי הקוד שבחרתם בפעולה main במחלקה Tester, כתבו את מספר הקטע וציינו אם הקוד תקין או אינו תקין. אם הקוד תקין — כתבו את הפלט, ואם הוא אינו תקין — הסבירו את השגיאה. קטעי הקוד אינם קשורים זה לזה.
A a = new A(); a.foo(2);A a = new A(); ((B)a).foo(3);A a = new A(); B b = a; b.foo(2);A x = new B(); x.foo(2);A x = new B(); x.bar();A a = new A(); a.bar(3);A a = new A(); a.bar();B b = new B(); b.bar();B b = new B(); b.bar(3);B b = new B(); b.foo(2); b.foo(2.0);A a = new A(); a.foo(2); a.foo(2.0);B b = new A(); b.another(2);A a = new A(); a.another(2);B x = new B(); x.another(2);A x = new B(); x.another(2);