繁体   English   中英

可以在派生类中创建基类的构造函数吗?

[英]Can you make the constructor of base class in derived class?

是否可以在派生类中使基类的构造函数成为可能?

public class A 
    {
     // some stuff
    }

    public class B:A
    {

     public A()
     { }

     public B() { }
    }

不,你不能那样做,这是不明智的。 您可以使用base关键字在子类中调用基类构造函数。

public class B : A
{
    public B()
        : base() //base class default constructor call. 
    { }
}

不,你不能那样做。 一个类的构造函数必须在其自己的类中。

但是您可以通过new A()B调用A的构造函数

你可以这样做:

 public abstract class A
    {
        public A()
        {
            ExecuteConstructor();
        }

        protected abstract void ExecuteConstructor();
    }

    public class B : A
    {
        public B() { }

        protected override void ExecuteConstructor()
        {
            // implementation of your constructor to run in A 
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM