読みながらJavaの基礎をマスターしましょう

13.(演習)保育園児と豚汁作り~継承とポリモーフィズム~

問題1 プロジェクト名:Lie1
下の出力結果が得られるように、クラスPersonのサブクラスHonestPersonとLiePersonを作成せよ。どちらもメソッドshowMeが呼ばれると名前と年齢を出力するが、年齢はLiePersonのオブジェクトでは、実際より5歳若く答える。

[クラスPerson]

public abstract class Person {
  private String name;
  private int age;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  public abstract void showMe();
}

[クラスMain]

public class Main {
  public static void main(String[] args) {
    Person a = new HonestPerson();
    a.setName("正直太郎");
    a.setAge(20);
    a.showMe();
    Person b = new LiePerson();
    b.setName("嘘つき次郎");
    b.setAge(28);
    b.showMe();
  }
}

・出力結果
正直太郎 20才
嘘つき次郎 23才

問題2 プロジェクト名:Lie2
問題1と同様の出力結果が得られるようにする。ただしクラスMainについては以下のように変更してある。
[クラスMain]

public class Main {
  public static void main(String[] args) {
    Person a = new HonestPerson("正直太郎", 20);
    a.showMe();
    Person b = new LiePerson("嘘つき次郎", 28);
    b.showMe();
  }
}

和太鼓の製造/販売、張り替え/修理は

目次

PAGETOP
Copyright © たのしいJava入門とScratchと猫 All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.
PAGE TOP