Skip to content

LST-HGU-Master/Java-Assignment-11-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

課題11-2: カプセル化

課題の説明

1)Swordクラスに以下の変更を加えなさい。

  • カプセル化する
  • コンストラクタやSetterから剣の名前を代入するときに2文字以下であれば 名無し剣 とする

2)課題11-1で作成したHeroクラスへのSword型フィールドswordの追加とそのカプセル化をしなさい。

3)最後にProgB2.mainメソッドに変更を加えて、カプセル化したコードで実行例のように動作するようにしなさい。

(注意)この課題では、Swordクラスのカプセル化並びにHeroクラスswordのカプセル化のために、ProgB2.main()からのアクセスが正しく変更されないと全てのテストでコンパイルエラーとなる

Swordクラス(変更前)

public class Sword
{
    String name; // 剣の名前

    public Sword(String name)
    {
        this.name = name;
    }
}

Heroクラス(参考:カプセル化前のHeroクラスにSword型変数swordを追加した状態)

public class Hero
{
    String name = "??";
    int hp = 0;
    Sword sword;

    public void run()
    {
        System.out.println(this.name + "は逃げ出した!");
    }
}

ProgB2クラス(指示にあるカプセル化やフィールドの追加後も同様の結果が得られるように変更する)

public class ProgB2 {
    public static void main(String[] args) {
        Hero h = new Hero();
        h.name = "太郎";
        h.hp = 100;

        System.out.println("勇者" + h.name + " (HP:" + h.hp + ") が誕生した!");

        Sword sword = new Sword("こんぼう");
        h.sword = sword;

        System.out.println("勇者は" + h.sword.name + "を装備した!");
    }
}

実行例

勇者太郎 (HP:100) が誕生した!
勇者はこんぼうを装備した!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages