关闭

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

444人阅读 评论(0) 收藏 举报
一上班就看书 一下班就看书……着魔了这是哈哈,我们都知道 如果在 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


   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7409次
    • 积分:243
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条