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