宿題:OO言語2#
Homework 約30分 答え
まずは適当なJavaの実行環境を用意せよ.その環境下で次のHomeworkクラスのmain()メソッドを実行し,その出力結果を確認せよ.123という文字が6行得られるはずである.
public class Homework {
public static void main(String[] args) {
A aaa = new A();
B bbb = new B();
C ccc = new C();
System.out.println(aaa.x()); // 123
System.out.println(aaa.y()); // 123
System.out.println(bbb.x()); // 123
System.out.println(bbb.y()); // 123
System.out.println(ccc.x()); // 123
System.out.println(ccc.y()); // 123
}
}
class A {
public String x() { return "123"; }
public String y() { return "123"; }
}
class B extends A {
public String x() { return "123"; }
}
class C {
private A a = new A();
public String x() { return "123"; }
public String y() { return a.y(); }
}
Q1.#
出力結果とともに,その出力文字列が最終的にどのクラスのどのメソッドから得られたかを答えよ.例えば,a()→b()のような呼び出し系列に対してはb()が答えである.また委譲によって得られた出力結果には「委譲」と一言を添えよ.
Q2.#
次の2項がis-aかhas-aか答えよ.
- クラス
BとクラスA - クラス
CとクラスA
以下の書式をコピーして回答せよ.
Answer
Q&A#
Q. 誤字#
- デッキクラスの操作は次の
23つを考える. - 次の2項がis-a
がかhas-aか答えよ. - 実際に
isEmpty()メソッドはの中身はこのクラスで定義されている(1). - Javaには合計4種類のアクセス修飾子が存在している.
- void ensureCapa
tcity(int)