文件名称:版本控制-effective.debugging.2016.7
文件大小:8.09MB
文件格式:PDF
更新时间:2024-06-23 11:46:50
C#网络应用
4.2 版本控制 用 C#编写方法时,如果在扩充类中重写基类的方法,需要用 override 声明;要隐藏基类 的方法,需要用 new 声明,这就是 C#进行版本控制的依据。 在 C#中,所有的方法默认都是非虚拟的,调用非虚拟方法时不会受到版本的影响,不管 是调用基类的方法还是调用扩充类的方法,都会和设计者预期的结果一样执行实现的程序代 码。相比之下,虚拟方法的实现部分可能会因扩充类的重写而影响执行结果。也就是说,在执 行时期调用虚拟方法时,它会自动判断应该调用哪个方法。比如,如果基类中声明一个虚拟方 法,而扩充类的方法中使用了 override 关键字,则执行时会调用扩充类的方法;如果扩充类的 方法没有使用 override 关键字,则调用基类的方法。而没有声明为 virtual 的非虚拟方法,则在 编译时就已经确定了应该调用哪个方法了。 【例 4-8】版本控制—使用 new 修饰符。 using System; namespace NewExample { class A { public void Method() { Console.WriteLine("A.Method"); } } class B : A { 73