首页 新闻 会员 周边 捐助

如何让子类执行父类的被重载的方法

0
悬赏园豆:5 [已解决问题] 解决于 2014-02-14 09:13

public class A

{

      public virtual void Method()

      {

          ..........

      }

}

public class B:A

{

     public override void Method()

     {........}

}

 

A b=new B();

b.Method()执行的是B里定义的方法,有什么方法让他执行A中的方法?

baoj2010的主页 baoj2010 | 初学一级 | 园豆:102
提问于:2014-02-13 18:11
< >
分享
最佳答案
0

base.Method();

收获园豆:2
jj91821 | 菜鸟二级 |园豆:461 | 2014-02-13 18:42
其他回答(4)
0

new A()

单恋 | 园豆:678 (小虾三级) | 2014-02-13 18:12
0

A不是virtual的吗,如果你真想执行A,为什么又要new B呢?

angelshelter | 园豆:9914 (大侠五级) | 2014-02-13 20:59
0

你不override就执行父类的方法  每个类都有个指向方法表的类型指针  A b=new B() b是A的类型对象但是指向B对象   override之后执行override的方法

  class B : A
        {
            public override void Method()
            {
                base.Method();
            }
        }

可以通过这种方式访问基类的方法  virtual修饰的是虚方法 虚方法可重写或不重写 不重写就执行父类的方法

收获园豆:1
wolfy | 园豆:2636 (老鸟四级) | 2014-02-13 21:22
0

base.Method();

收获园豆:2
Qlin | 园豆:2403 (老鸟四级) | 2014-02-14 08:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册