オブジェクト指向について少しだけ学んだので、簡単なプログラムをアウトプット
Main.java
import player.*;
public class Main {
public static void main (String [] args){
System.out.println("プレイヤーの名前を入力してください");
String pname = new java.util.Scanner(System.in).nextLine();
if (pname != ""){
Hero h = new Hero(pname);
h.charge();
} else {
Hero h = new Hero();
h.charge();
}
}
}
Hero.java
package player;///①
public class Hero {
String name;
int hp;//HP
int ap;//攻撃力
//コンストラクタ///②
public Hero(String name){
this.name = name;
this.hp = 100;
this.ap = 5;
}
//未入力(オーバーロード)///③
public Hero(){
this.name = "サトウ";
this.hp = 100;
this.ap = 5;
}
public void charge(){
System.out.println(this.name + "は力を溜めた");
this.ap += 5;
System.out.println(this.name + "の攻撃力は" + this.ap);
};
};
Main.javaの処理
①playerパッケージの全ての関数をimport(importしないとFQCNで指定しないと動きません)
②Hero.javaの内容をインスタンス化したものをhインスタンス(名前:pname)とする。
③hインスタンスでHero.javaのcharge関数を実行。
Hero.javaの処理
①パッケージplayerと定義(他のキャラクタを追加する際などに細分化)
②コンストラクタ(Main.java内でインスタンス化されたときに実行する事で意図した初期値に戻す)
③Main.javaで引数pnameが未定義のケースをオーバーロードし、デフォルトネームを"サトウ"とする。