专注于.Net

享受编程的乐趣
随笔 - 112, 文章 - 0, 评论 - 68, 阅读 - 12万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

C#虚拟方法

Posted on   古道飘零客  阅读(1073)  评论(1)    收藏  举报

2.3 虚拟方法
使用virtul定义该方法为虚拟方法。

2.3.1 方法的重定义
使用override关键字,将一个虚拟的方法重定义。
这里注意。方法的隐式隐藏,使用new显示隐藏。
隐藏只是子类里面的将父类隐藏,但是,不影响父类的方法。
class A
{
      public method(){}
}

class B : A
{
      public method(){}
}
A aClass = new A();
aClass.method();//调用A中的method()
A aClass = new B();
aClass.method();//调用A中的method()
B bClass = new B();
bClass.method();//调用B中的method()
B bClass = new A();//编译无法通过
//////////////////////////////////////////////////////////
class A
{
      public virtual method(){}
}

class B : A
{
      public override method(){}
}
A aClass = new A();
aClass.method();//调用A中的method()
A aClass = new B();
aClass.method();//调用B中的method()
B bClass = new B();
bClass.method();//调用B中的method()
B bClass = new A();//编译无法通过

点击右上角即可分享
微信分享提示