摘要: 看了对Anders Hejlsberg的采访,1)C#中函数默认是非virtual的设计因为:在java中,一个方法默认是虚拟化的,只有对一个方法必须声明final关键字,这样这个方法才是非虚的,无法被子类重写。而C#中,方法默认是非虚的,只有加上virtual关键字,子类才能被重写。据Hejlsberg说,这样设计的好处是,第一,他观察到很多java程序员都忘写final;第二,虚化性能相对于非虚化要差一点。2)virtual这个关键字其实含义是为了版本控制。用他自己的话说,"版本控制最终会是语言设计的一大要素。它体现于你如何覆盖C#虚拟方法。同样因为版本控制,我们C#里重载的解决 阅读全文
posted @ 2013-09-12 11:55 瓜王 阅读(230) 评论(0) 推荐(0) 编辑