★★Java質問・相談スレッド169★★
■ このスレッドは過去ログ倉庫に格納されています
0064デフォルトの名無しさん
2014/05/24(土) 18:11:00.42ID:QUPFogSNShapeクラスは中心座標(x, y, z)をインスタンス変数として持つ。インスタンス変数は全てdouble型で、アクセス修飾子はprivateとする。
Shapeクラスは2つのpublicなコンストラクタを持つ。一つ目のコンストラクタは引数を受け取らず、中心座標を(0.0, 0.0, 0.0)に設定する。
二つ目のコンストラクタは中心座標の各変数を引数として受け取る。なお、一つ目のコンストラクタにはthisキーワードを使用して二つ目のコンストラクタを呼び出すようにしなさい。
Shapeクラスは三つの戻り値の無いpublicなメソッドを持つ。一つ目はshow()メソッドで、中心座標値を次のように表示する。
System.out.println("中心座標: (" + x + "," + y + "," + z + ")”);
二つ目はmove()メソッドで、三つのdouble型のパラメータを受け取り、それぞれの値を球体の中心の座標(x, y, z)それぞれに加算する。3つ目はscale()メソッドで、
1つのdouble型のパラメータを受け取り、(ここでは便宜上)中心座標の各変数にそのパラメータを乗じる。
ShapeクラスをSphereクラスに継承させる。その際、Sphereクラスを以下のように変更する。
これまでSphereクラスに存在した中心座標を示す3つの変数とmove()メソッドはスーパークラスのものを利用するので削除する。
show()メソッドについては、スーパークラスのshow()メソッドを呼び出した後、半径のみを表示(System.out.println("半径:" + radius))するようにオーバーライドさせる。
scale()メソッドについては、(オーバーライドする形で)そのまま利用する。
半径を示す変数をprivateに、各メソッド、コンストラクタをpublicにする。
ShapeクラスとSphereクラスのオブジェクトを作成し、使用するmain()メソッドを有するShapeExクラスを作成しなさい。ただし、Shapeクラスの配列を宣言し、
その配列要素にShapeクラスおよびSphereクラスのオブジェクトを与えるようにすること。また各メソッドを利用するようにしなさい
■ このスレッドは過去ログ倉庫に格納されています