開発環境
- Microsoft Windows 8 Pro 64bit 日本語 (OS)
- Microsoft Visual Studio Express 2012 for Windows Desktop (IDE)
- プログラミング言語: C#
『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第9章(継承とポリモーフィズム)11.9(練習問題)練習11-2を解いてみる。
その他参考書籍
練習11-2.
コード
using System; class Telephone { protected string phonetype; public void Ring() { Console.WriteLine("Ringing the {0}", phonetype); } } class ElectronicPhone : Telephone { public ElectronicPhone() { phonetype = "Digital"; } } class Tester { public void Run() { ElectronicPhone ep = new ElectronicPhone(); ep.Ring(); } static void Main() { Tester t = new Tester(); t.Run(); } }
入出力結果(Console Window)
Ringing the Digital. Sound: Pipi, Pipi. 続行するには何かキーを押してください . . .
ちなみにJavaScriptの場合。
コード(TextWrangler)
var result = ""; var Telephone = function(){ this.phone_type; }; Telephone.prototype.ring = function(){ return "Ringing the " + this.phone_type + "."; }; var ElectronicPhone = function(){ this.phone_type = "Digital"; }; ElectronicPhone.prototype = new Telephone(); ElectronicPhone.prototype.ring = function(){ return Telephone.prototype.ring.apply(this) + "\nSound: Pipi, Pipi."; }; ElectronicPhone.prototype.constructor = ElectronicPhone; var ep = new ElectronicPhone(); result += ep.ring() + "\n"; $('#pre0').text(result);
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3 # -*- coding: utf-8 -*- class Telephone: def __init__(self): self.phonetype = "Telephone" def ring(self): print("Ringing the {0}.".format(self.phonetype)) class ElectronicPhone(Telephone): def __init__(self): self.phonetype = "Digital"; def ring(self): Telephone.ring(self) print("Sound: Pipi, Pipi.") ep = ElectronicPhone() ep.ring()
入出力結果(Terminal)
$ ./sample.py Ringing the Digital. Sound: Pipi, Pipi. $
0 コメント:
コメントを投稿