从类的实例重写方法

  • 本文关键字:重写 方法 实例 c#
  • 更新时间 :
  • 英文 :


我有一个简单的问题,但似乎找不到答案,我想知道是否有可能从实例类结构重写方法,看起来像这样:

public class A : baseA    
{
    public virtual void methodA()
    {
    }
}
public class B : baseB    
{
    public void method B()
    {
         var ClassA = new A();
    }
    /* Now Is there some sort of overide like */
    public override methodA()
    {
      //Do stuff
    }
}

并且这些类不能相互继承,这使它变得更加困难。那么这种构造在c#中是否可行呢?

No。如果你没有继承一个类,你就不能重写它的行为。

重写修饰符用于扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现。

B必须从类A继承。

public class A
{
    public virtual void methodA()
    {
    }
}
public class B : A
{
    public void methodB()
    {
        var ClassA = new A();
    }
    public override void methodA()
    {
        //Do stuff
    }
}

查看MSDN获取更多详细信息:

重写方法提供从基类继承的成员的新实现。被覆盖声明覆盖的方法称为覆盖基方法。重写的基方法必须具有与重写方法

相同的签名。

最新更新