お題
クラスの作り方とインスタンスの作り方を学ぼう
手順
◯新規ファイルPositionApp.javaを作成する。内容は以下
public class PositionApp {
public static void main(String[] args) {
}
}
◯PositionAppクラスの下にPositionクラスを作成する。記述は以下
public class PositionApp {
public static void main(String[] args) {
}
}
class Position{
}
以下はPositionクラスに記述していくこと
◯フィールド変数
int x;
int y;
◯コンストラクタ
1. 引数2つのコンストラクタ -> 引数に入ってきた2つの値でthis.xとthis.yを初期化し、this.displayPositionメソッドを実行する
2.引数なしのコンストラクタ->this.xとthis.yを0で初期化しthis.displayPositionを実行する。この際、1のコンストラクタを呼び出すようにすること
◯メソッド
右に移動するメソッド void moveRight(int len)を作成する。
処理内容は、引数で入ってきた値の分、this.xを増やす
「右にxxx移動しました」と出力する。
左に移動するメソッド void moveLeft(int len)を作成する。
処理内容は、引数で入ってきた値の分、this.xを減らす
「左にxxx移動しました」と出力する。
上に移動するメソッド void moveUp(int len)を作成する。
処理内容は、引数で入ってきた値の分、this.yを増やす
「上にxxx移動しました」と出力する。
下に移動するメソッド void moveDown(int len)を作成する。
処理内容は、引数で入ってきた値の分、this.yを減らす
「下にxxx移動しました」と出力する。
現在地点を表示するメソッド void displayPosition()を作成する。
表示内容は以下
「現在位置は[x:?,y:?]です」
インスタンスの作成
◯上部にあるmainメソッドの中でPositionクラスのインスタンスを引数なしで作成し、Position型の変数p1に代入する
◯p1がmoveRight(5)を行う
◯p1がmoveUp(10)を行う
◯p1がdisplayPosition()を実行することで現在位置を表示する。
◯Positionクラスのインスタンスを引数(4,6)で作成し、Position型の変数p2に代入する
◯p2がmoveLeft(8)を行う
◯p2がmoveDown(20)を行う
◯p2がdisplayPosition()を実行することで現在位置を表示する。
実行例は以下
現在位置は[x:0,y:0]です
右に5移動しました
上に10移動しました
現在位置は[x:5,y:10]です
現在位置は[x:4,y:6]です
左に8移動しました
下に20移動しました
現在位置は[x:-4,y:-14]です
コメント