開発環境
- 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 コメント:
コメントを投稿