開発環境
- 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)の 第11章(継承とポリモーフィズム)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()
{
this.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. Pipi, Pipi. 続行するには何かキーを押してください . . .
ちなみにJavaScriptの場合。
コード(BBEdit)
function Telephone(){
this.phonetype;
this.ring = function(){
$('#pre0').append("Ringing the " + this.phonetype + ". \n");
};
}
function ElectronicPhone(){
this.phonetype = "Digital";
this.ring = function(){
$('#pre0').append("Ringing the " + this.phonetype + ". Pipi, Pipi.\n");
};
Telephone.apply(this, arguments);
}
ElectronicPhone.prototype = new Telephone();
var ep = new ElectronicPhone();
ep.ring();
pythonの場合。
sample.py
コード(BBEdit)
#!/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), end="")
class ElectronicPhone(Telephone):
def __init__(self):
self.phonetype = "Digital"
def ring(self):
Telephone.ring(self)
print("Pipi, Pipi.")
if __name__ == '__main__':
ep = ElectronicPhone()
ep.ring()
入出力結果(Terminal)
$ ./sample.py Ringing the Digital. Pipi, Pipi. $
0 コメント:
コメントを投稿