你能在派生类中制作基类的构造函数吗

本文关键字:基类 构造函数 派生 | 更新日期: 2023-09-27 17:59:45

我们有可能在派生类中创建基类的构造函数吗?

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() 调用BA的构造函数

您可以这样做:

 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 
        }
    }