C#关于虚方法 virtual 和 override 重写 详解

来源:互联网 发布:js 页面后退 编辑:程序博客网 时间:2024/05/21 11:10
一上班就看书 一下班就看书……着魔了这是哈哈,我们都知道 如果在 base类中 使用了 虚方法 virtual 意味着可以在 子类中 用override 重写该方法,那如果不重写 改成new呢?来看下代码
class myClass//定义一个基类{virtual public void print(){Console.WriteLine("myClass");}}class MyClass:myClass//定义子类 首先我们用隐藏父类中的虚方法{new public void print(){Console.WriteLine("MyClass");base.print();//在子类的方法中调用父类被隐藏的方法}}
然后我们在main方法中执行 myClass mc = new myClass(); MyClass Mc = (MyClass)mc; mc.print();Mc.print(); 输出结果 myClass MyClass myClass
接着 我们用 重写代替隐藏 输出结果为 MyClass MyClass myClass