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();//编译无法通过

相关文章:

  • 2021-11-05
  • 2021-06-09
  • 2022-12-23
猜你喜欢
  • 2021-06-24
  • 2021-09-29
  • 2022-12-23
  • 2021-06-21
  • 2022-01-11
相关资源
相似解决方案