開発環境
- 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 ConvertToJavaScript(string str);
}
class ProgramHelper : IConvertible
{
public ProgramHelper()
{
Console.WriteLine("ProgramHelperを作成");
}
#region IConvertible
public string ConvertToCSharp(string str)
{
return "C#の文字列に変換中…";
}
public string ConvertToJavaScript(string str)
{
return "JavaScriptの文字列に変換中…";
}
#endregion
}
class Tester
{
public void Run()
{
ProgramHelper ph = new ProgramHelper();
string s = "文字列";
Console.WriteLine(ph.ConvertToCSharp(s));
Console.WriteLine(ph.ConvertToJavaScript(s));
}
static void Main()
{
Tester t = new Tester();
t.Run();
}
}
入出力結果(Console Window)
ProgramHelperを作成 C#の文字列に変換中… JavaScriptの文字列に変換中… 続行するには何かキーを押してください . . .
ちなみにJavaScriptの場合。
コード(BBEdit)
var IConvertible = function( ) { },
ProgramHelper = function( ) {
$('#pre0').append("ProgramHelperを作成\n");
IConvertible.apply(this);
},
s = "文字列",
ph;
IConvertible.prototype.convertToCSharp = function ( ) {
throw "convertToCSharpを実装していない";
},
IConvertible.prototype.convertToJavaScript = function ( ) {
throw "convertToJavaScriptを実装していない";
},
ProgramHelper.prototype = new IConvertible(),
ProgramHelper.prototype.convertToCSharp = function( s ) {
return "C#の文字列に変換中…";
},
ProgramHelper.prototype.convertToJavaScript = function ( s ) {
return "JavaScriptの文字列に変換中…";
};
ph = new ProgramHelper();
$('#pre0').append(ph.convertToCSharp(s) + "\n" +
ph.convertToJavaScript(s));
pythonの場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
class IConvertible:
def convertToJavaScriprt(self, s):
raise Exception("convertToJavaScriprtが定義されていない")
def convertToPython(self, s):
raise Exception("convertToPythonが定義されていない")
class ProgramHelper(IConvertible):
def __init__(self):
print("ProgramHelperを作成")
def convertToJavaScriprt(self, s):
return "JavaScriptの文字列に変換中…"
def convertToPython(self, s):
return "Pythonの文字列に変換中…"
ph = ProgramHelper()
s = "文字列"
for x in [ph.convertToJavaScriprt(s), ph.convertToPython(s)]:
print(x)
入出力結果(Terminal)
$ ./sample.py ProgramHelperを作成 JavaScriptの文字列に変換中… Pythonの文字列に変換中… $
0 コメント:
コメントを投稿