.NET开发
本类阅读TOP10
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站
刚才突然想到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 动物 ) { ((动物) 小生物).移动(); } } } } }
这个程序的执行结果是:
相关软件: