2018年5月22日火曜日

開発環境

初めてのC# 第2版 (Jesse Liberty (著)、Brian MacDonald (著)日向 俊二 (翻訳)、オライリージャパン)の14章(ジェネリックとコレクション)、14.6(練習問題)、練習14-1.を取り組んでみる。

コード

using System;

class Program
{
    static void Main(string[] args)
    {
        Cat cat = new Cat(10, "cat");
        Dog dog = new Dog(20, "dog");
        Animal[] animals = { cat, dog };

        foreach (Animal animal in animals)
        {
            Console.WriteLine(animal);
            animal.Speak();
            animal.Move();
        }
    }
}
public abstract class Animal
{
    private float weight;
    private string name;

    public Animal(float weight, string name)
    {
        this.weight = weight;
        this.name = name;
    }

    public abstract void Speak();
    public abstract void Move();
    public override string ToString()
    {
        return "Name: " + name + ", Weight: " + weight;
    }
}

public class Cat : Animal
{
    public Cat(float weight, string name) : 
        base(weight, name)
    {
    }

    public override void Move()
    {
        Console.WriteLine("Cat: Move");
    }

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

public class Dog : Animal
{
    public Dog(float weight, string name) :
        base(weight, name)
    {
    }

    public override void Move()
    {
        Console.WriteLine("Dog Move");
    }

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

入出力結果(コマンドプロンプト)

Name: cat, Weight: 10
Cat Speak
Cat: Move
Name: dog, Weight: 20
Dog Speak
Dog Move
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿