调用从基类继承的构造函数

时间:2021-02-07 17:41:20

标签: c# oop inheritance

public abstract class BaseClass
    {
        private int id;

        public int Id
        {
            get { return id; }
        }

    }
public class SubClass : BaseClass
    {
        public SubClass(int id)
        {
            this.id = id;
        }
    }

如果我希望 id 是私有的并且 Id 是只读的,我将如何使构造函数工作?

即使我希望它是抽象类,我也应该在我的 BaseClass 中有构造函数吗?

1 个答案:

答案 0 :(得分:0)

您可以为抽象类编写构造函数,就像为普通类编写构造函数一样 对于您的情况,您可以添加一个设置 id 属性的受保护 ctor

public abstract class BaseClass
{
    private int id;
    protected BaseClass(int idValue) 
    { 
        id=idValue;
    }

    public int Id
    {
        get { return id; }
    }
}
    
public class SubClass : BaseClass
{
    public SubClass(int id):base(id)
    {
    }
}