Esempio n. 1
0
        static void Main(string[] args)
        {
            CellPhone cp = new CellPhone("*****@*****.**", "000-000-1234");

            // 携帯電話クラスで、電話とメールを実行
            cp.Call("001-001-1234");
            cp.SendMail("*****@*****.**");
            // 電話インターフェ-スでインスタンスにアクセス
            // あるクラス(CellPoneクラス)を、ベースクラスやインターフェース(IPhone)の型に代入するときはキャストを利用
            // キャスト(IPhone)をつけて代入することで、CellPhoneクラスを架空のIPhoneクラスとして振舞うことができる
            IPhone phone = (IPhone)cp;

            phone.Call("002-002-1234");
            // メールインターフェースでインスタンスにアクセス
            IEmail mail = (IEmail)cp;

            mail.SendMail("*****@*****.**");
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            CellPhone cp = new CellPhone("*****@*****.**", "090-1234-5678");

            //携帯電話クラスで電話とメールを送る
            cp.Call("011-123-4567");
            cp.SendMail("*****@*****.**");
            //電話インターフェースでインスタンスにアクセス
            IPhone phone = (IPhone)cp;

            phone.Call("011-987-6543"); //電話をかける
            //メールの送信メソッドは利用できない
            //phone.SendMail("*****@*****.**");
            //メールインターフェースでインスタンスにアクセス
            IEmail mail = (IEmail)cp;

            mail.SendMail("*****@*****.**");     //メールを出す
            //mailインターフェースでは電話の機能を利用できない
            //mail.Call("011-222-3333");
        }