2012年7月22日日曜日

開発環境

『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第11章(継承とポリモーフィズム)11.9(練習問題)、練習11-3を解いてみる。

練習11-3.

コード

using System;

namespace Sample
{
    abstract class Telephone
    {
        protected string phonetype;
        public Telephone()
        {
            this.phonetype = "Telephone";
        }
        public abstract void Ring();
    }
    class ElectronicPhone : Telephone
    {
        public ElectronicPhone()
        {
            this.phonetype = "Digital";
        }
        public override void Ring()
        {
            Console.WriteLine("Ringing the {0}. Pipi, Pipi", phonetype);
        }
    }
    class TalkingPhone : Telephone
    {
        public TalkingPhone()
        {
            this.phonetype = "Talking";
        }
        public override void Ring()
        {
            Console.WriteLine("Ringing the {0}. Talking!", phonetype);
        }
    }
    class Tester
    {
        public void Run()
        {
            ElectronicPhone ep = new ElectronicPhone();
            TalkingPhone tp = new TalkingPhone();
            Telephone[] ts = { ep, tp };
            foreach (Telephone t in ts)
            {
                t.Ring();
            }
        }
        static void Main()
        {
            Tester t = new Tester();
            t.Run();
        }
    }
}

入出力結果(Console Window)

Ringing the Digital. Pipi, Pipi
Ringing the Talking. Talking!
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿