開発環境
- Microsoft Windows 8 Pro 64bit 日本語 (OS)
- Microsoft Visual Studio Express 2012 for Windows Desktop (IDE)
- プログラミング言語: C#
『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487312-194-7)の 第13章(インタフェース)13.10(練習問題)練習13-1, 2を解いてみる。
その他参考書籍
練習13-1, 2.
コード
using System;
interface IConvertible
{
string ConvertToCSharp(string str);
string ConvertToVisualBasic(string str);
}
class ProgramHelper : IConvertible
{
public ProgramHelper()
{
Console.WriteLine("Program Helperを作成");
}
public string ConvertToCSharp(string str)
{
return "C#の文字列に変換中";
}
public string ConvertToVisualBasic(string str)
{
return "VBの文字列に変換中";
}
}
class Tester
{
public void Run()
{
ProgramHelper ph = new ProgramHelper();
string str = "文字列";
Console.WriteLine(ph.ConvertToCSharp(str));
Console.WriteLine(ph.ConvertToVisualBasic(str));
}
static void Main()
{
Tester t = new Tester();
t.Run();
}
}
入出力結果(Console Window)
Program Helperを作成 C#の文字列に変換中 VBの文字列に変換中 続行するには何かキーを押してください . . .
ちなみにJavaScriptの場合。
コード(BBEdit)
// インタフェースじゃ無い代わりに、エラーを投げるようにする
function IConvertible(){}
IConvertible.prototype.convert_to_javascript = function(s){
throw "convert_to_javascriptが実装されていません";
};
IConvertible.prototype.convert_to_python = function(s){
throw "convert_to_pythonが実装されていません";
};
function ProgramHelper(){
$('#pre0').append("ProgramHelperを作成\n");
IConvertible.apply(this, arguments);
};
ProgramHelper.prototype = new IConvertible();
ProgramHelper.prototype.convert_to_javascript = function(){
return "JavaScriptの文字列に変換中";
};
ProgramHelper.prototype.convert_to_python = function(){
return "Pythonの文字列に変換中";
};
var ph = new ProgramHelper();
var s = "文字列";
$('#pre0').append(ph.convert_to_javascript(s) + "\n");
$('#pre0').append(ph.convert_to_python(s) + "\n");
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3
# -*- coding: utf-8 -*-
class IConvertible:
def convert_to_python(self, s):
raise Exception("convert_to_pythonが実装されていません")
def convert_to_javascrpt(self, s):
raise Exception("convert_to_javascrptが実装されていません")
class ProgramHelper(IConvertible):
def __init__(self):
print("ProgramHelperを作成")
def convert_to_python(self, s):
return "Pythonの文字列に変換中"
def convert_to_javascrpt(self, s):
return "JavaScriptの文字列に変換中"
if __name__ == '__main__':
ph = ProgramHelper()
s = "文字列"
print(ph.convert_to_python(s))
print(ph.convert_to_javascrpt(s))
入出力結果(Terminal)
$ ./sample.py ProgramHelperを作成 Pythonの文字列に変換中 JavaScriptの文字列に変換中 $
0 コメント:
コメントを投稿