讓我們用中文編程 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 讓我們用中文編程 (http://www.webasp.net/article/14/13659.htm) |
| -- 作者:未知 -- 發佈日期: 2004-10-10 |
| 讓我們用中文編程
剛才突然想到C#裡面應該支持中文編程,因為他支持源代碼的Unicode,於是用中文寫了一個小程序,看看能不能編譯執行,結果果然如我所料,可以執行,雖然代碼實用價值沒有,但是很有趣味。我想用這樣的小程序教一個中國學生學面向對象,可能門檻會更低一些,而且也有趣的多,畢竟是母語。(稍作修正,直接用運行時類別鑒定來決定"我是誰") 程序的源代碼是: using System; namespace 中文編程 { public class 生物 { public virtual void 自我介紹() { Console.WriteLine( "我是...咦?我是什麼?我也不知道我是什麼,反正我是一個"+this.GetType().Name ); } } public class 動物 : 生物 { protected string 移動方式; protected string 量詞 = "只"; public 動物() { 移動方式 = "移動"; } public virtual void 移動() { Console.WriteLine( "這"+量詞+this.GetType().Name+"在自由自在的"+移動方式 + Environment.NewLine ); } public override void 自我介紹() { Console.WriteLine( "我屬於"+this.GetType().BaseType.Name+", 我是一"+量詞+"可愛的"+this.GetType().Name ); } } public class 鳥 : 動物 { public 鳥() { 移動方式 = "飛翔"; } } public class 魚 : 動物 { public 魚() { 移動方式 = "游來游去"; 量詞 = "條"; } } public class 馬 : 動物 { public 馬() { 移動方式 = "奔跑"; 量詞 = "匹"; } } sealed public class 運行 { [STAThread] static void Main(string[] args) { 生物[] 動物園 = new 生物[5]; 動物園[0] = new 鳥(); 動物園[1] = new 魚(); 動物園[2] = new 馬(); 動物園[3] = new 動物(); 動物園[4] = new 生物(); foreach( 生物 小生物 in 動物園 ) { 小生物.自我介紹(); if( 小生物 is 動物 ) { ((動物) 小生物).移動(); } } } } } 這個程序的執行結果是: D:\Project\C#\MyTest\中文編程\bin\Debug>中文編程.exe 我屬於動物, 我是一隻可愛的鳥 這隻鳥在自由自在的飛翔 我屬於動物, 我是一條可愛的魚 這條魚在自由自在的游來游去 我屬於動物, 我是一匹可愛的馬 這匹馬在自由自在的奔跑 我屬於生物, 我是一隻可愛的動物 這只動物在自由自在的移動 我是...咦?我是什麼?我也不知道我是什麼,反正我是一個生物 |
| webasp.net |