日期:2014-05-20  浏览次数:20606 次

关于C#中的virtual、new和override
小弟正在C#的学习当中,学到这几个关键字时发现处理比C++中要稍复杂。
所以请大家看看我的认识有没有错误,多谢指出。

1、对于基类中说明为虚的方法则必须在派生类中new或者override。
2、如果用基类指针指向派生类对象的方式,动态匹配的源动力是virtual,
      而new和override都会阻止这种向下寻求匹配的行为,所以要使虚函数的性质
      得已保持下去,就要隐藏基类的虚方法,即在派生类中隐藏基类虚方法时,同
      时加以virtual关键字,使在多层次继承中能够调用到对象自身的版本。
3、在多层次继承中,三个关键字使用次序有限定,new没有使用前提,即不管是
      普通方法、虚方法还是重写了的方法。virtual的使用,在它的基类不能有函数
      签名相同的方法,否则系统将提示添加new,即隐藏基类中的方法。virtual一般
      只出现一次,除非要在子类中隐藏父类的虚方法。override的使用是为了重写
      基类虚方法。

对C#开发的方向不是很了解,是游戏还是WEB或其它?

------解决方案--------------------
C#开发游戏不在行,开发Web或其它