忍者ブログ

からすまる日誌 java

実践(1) setter/getter

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

実践(1) setter/getter

lineのオープンチャット
未経験からエンジニアになるための部屋とからあるらしい
 

Main.javaを動かすと勇者が何度も勝手に死んでしまう
 
①Hero.javaを修正
int hp;
private int hp;
void die(){
private void die() {
 
②Inn.javaを修正
//h.hp = -100;//コメントアウトする
 
③King.java修正
//h.die();   // ここが不具合の原因。勇者が死ぬ!コメントアウトする
h.bye();
 

attackにもpublicを付けておきましょう
教科書p383
 

フィールドはprivateにし、
メソッドはpublicにするのが定石
 private int hp;
 private String name;
 private Sword sword;
 private static int money;
 
コンストラクタには修飾子はつけないよパブリックもプライベートも
 

フィールド:
メソッドに入っていない、クラスの中で宣言されている変数さんのこと
 
メソッドさんは{}の中にかこわれているやつね
 

さて、
 private int hp;
 private String name;
 private Sword sword;
 private static int money;
にしたら他のくらすでばってんが大量発生しましたよ
 
それをどうにかするのにさらにメソッドをかますらしい。セッターとゲッター
 
p387を追加
こういうのをゲッターメソッドという
getterメソッドの定石:
public 値を取り出すフィールドの型 getフィールド名(){
 return this.フィールド名;
}
---
めんどうだがいろいろいいことがある
教科書391-392をよめ
理解できないことがおおいが、とりあえずsetter,getterメソッドをかますと「強固になり」「あとあと変更するときここだけ直せば全コードを修正しなくて済む」ようだm
 

とりあえずMain.javaのL19はコメントアウト
Hero.javaのここも。
 
 public void attack(Matango m){
  System.out.println(this.name + "の攻撃!");
//  System.out.println("お化けキノコ" + m.suffix + "に" +
//    sword.damage + "ポイントのダメージを与えた");
//  m.hp -= sword.damage;

複数行選択し
ctrl+「/」
で複数コメントアウト
 
なおテンキーの方の/では反応しない
 

throw new IllegalArgumentException:
今の段階ではエラーを出してプログラムの強制停止する命令とおもっておく
 
PR

コメント

ブログ内検索

P R