Top >Java 練習問題集

8. クラスⅡ

練習問題 8 - 1

以下の Animal クラスを継承したクラス(派生クラス)、Cat を作成しなさい

  • Cat はメンバー・メソッド Sleep を持つ
    Sleep を実行するとスースーという文字列を表示する

次のプログラムを作成しなさい

  • Cat クラスのインスタンスを作成する
  • public のメンバー変数、Name、Age に名前、年齢を設定する
  • ShowProfile を実行する
  • Sleep を実行する

class Animal
{
    public String Name;
    public int Age;

    public void ShowProfile()
    {
        System.out.println( "名前は、" + Name + "、" + Age + "歳です。" );
    }
}

class Cat extends Animal
{
    public void Sleep()
    {
        System.out.println( "スースー" );
    }
}

public class Exercise
{
    public static void main( String[] args )
    {
        Cat MyCat = new Cat();

        MyCat.Name = "たま";
        MyCat.Age = 3;
        MyCat.ShowProfile();
        MyCat.Sleep();
    }
}

練習問題 8 - 2

前問に加え Animal クラスを継承したクラス、Dog を作成しなさい

  • Dog はメンバー・メソッドRunを持つ
    Run を実行するとトコトコという文字列を表示する

次のプログラムを作成しなさい

  • Cat クラスと Dog クラスのインスタンスを作成する
  • それぞれのメンバー変数、Name、Age に名前、年齢を設定する
  • それぞれの ShowProfile を実行する
  • Cat のインスタンスの Sleep を実行する
  • Dog のインスタンスの Run を実行する

class Animal
{
    public String Name;
    public int Age;

    public void ShowProfile()
    {
        System.out.println( "名前は、" + Name + "、" + Age + "歳です。" );
    }
}

class Cat extends Animal
{
    public void Sleep()
    {
        System.out.println( "スースー" );
    }
}

class Dog extends Animal
{
    public void Run()
    {
        System.out.println( "トコトコ" );
    }
}

public class Exercise
{
    public static void main( String[] args )
    {
        Cat MyCat = new Cat();
        Dog MyDog = new Dog();

        MyCat.Name = "たま";
        MyCat.Age = 3;
        MyDog.Name = "ぽち";
        MyDog.Age = 4;
        MyCat.ShowProfile();
        MyDog.ShowProfile();
        MyCat.Sleep();
        MyDog.Run();
    }
}

練習問題 8 - 3

前問の Animal クラスに以下のメンバー・メソッドを追加しなさい

public void Speak()
{
    System.out.println( "......" );
}

Dog クラス、Cat クラスに Speak メソッドをオーバーライドするメソッドを追加しなさい Dog ではワンワン、Cat ではニャーという文字列を表示します

次のプログラムを作成しなさい

  • Cat クラスと Dog クラスのインスタンスを作成する
  • それぞれのメンバー変数、Name、Age に名前、年齢を設定する
  • それぞれの ShowProfile を実行する
  • それぞれの Speak を実行する

class Animal
{
    public String Name;
    public int Age;

    public void ShowProfile()
    {
        System.out.println( "名前は、" + Name + "、" + Age + "歳です。" );
    }

    public void Speak()
    {
        System.out.println( "......" );
    }
}

class Cat extends Animal
{
    public void Sleep()
    {
        System.out.println( "スースー" );
    }

    public void Speak()
    {
        System.out.println( "ニャー" );
    }
}

class Dog extends Animal
{
    public void Run()
    {
        System.out.println( "トコトコ" );
    }

    public void Speak()
    {
        System.out.println( "ワンワン" );
    }
}

public class Exercise
{
    public static void main( String[] args )
    {
        Cat MyCat = new Cat();
        Dog MyDog = new Dog();

        MyCat.Name = "たま";
        MyCat.Age = 3;
        MyDog.Name = "ぽち";
        MyDog.Age = 4;
        MyCat.ShowProfile();
        MyDog.ShowProfile();
        MyCat.Speak();
        MyDog.Speak();
    }
}

練習問題 8 - 4

前問で作成したクラスを使用して、次のプログラムを作成しなさい

  • Animal クラスの配列を作成する要素数は 4
  • 配列の偶数番目( 0 と 2 )には Cat クラスのインスタンス、奇数番目( 1 と 3 )には Dog クラスのインスタンスを設定する
  • 配列の総ての要素の Speak メソッドを実行する

public class Exercise
{
    public static void main( String[] args )
    {
        Animal[] MyPets = new Animal[4];

        MyPets[0] = new Cat();
        MyPets[1] = new Dog();
        MyPets[2] = new Cat();
        MyPets[3] = new Dog();

        for( Animal Pet : MyPets )
            Pet.Speak();
    }
}
PAPER BOWL
NEZEN