Top >C# 練習問題集

8. クラスⅡ

練習問題 8 - 1

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

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

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

  • Cat クラスのインスタンスを作成する
  • 変数 Name、Age に名前と年齢を設定する
  • ShowProfile を実行する
  • Sleep を実行する
class Animal
{
    public string Name = "";    // 名前
    public int Age = 0;         // 年齢

    public void ShowProfile()
    {
        Console.WriteLine(Name + "," + Age + "歳");
    }
}

練習問題 8 - 2

前問の Animal クラスを以下のように変更しなさい。Name、Age を自動実装プロパティにし、コンストラクタで初期化するようにします。
それに合わせて、Cat クラスを変更しなさい。
class Animal
{
    public string Name { getprivate set; }    // 名前
    public int Age { getprivate set; }        // 年齢

    public Animal(string name, int age)
    {
        Name = name;
        Age = age;
    }

    public void ShowProfile()
    {
        Console.WriteLine(Name + "," + Age + "歳");
    }
}

練習問題 8 - 3

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

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

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

  • Cat クラスと Dog クラスのインスタンスを作成する
  • それぞれの ShowProfile を実行する
  • Cat のインスタンスの Sleep を実行する
  • Dog のインスタンスの Run を実行する

練習問題 8 - 4

前問の Animal クラスに以下の仮想メソッドを追加しなさい

public virtual void Speak()
{
    Console.WriteLine( "......" );
}

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

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

  • Cat クラスと Dog クラスのインスタンスを作成する
  • それぞれの ShowProfile を実行する
  • それぞれの Speak を実行する

練習問題 8 - 5

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

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