C# 调用从基类继承的构造函数
如果我希望id是私有的,id是只读的,那么如何使构造函数工作C# 调用从基类继承的构造函数,c#,oop,inheritance,C#,Oop,Inheritance,如果我希望id是私有的,id是只读的,那么如何使构造函数工作 即使我希望基类是抽象类,我也应该在基类中包含构造函数吗?您可以为抽象类编写构造函数,就像为普通类编写构造函数一样 对于您的情况,您可以添加一个设置id属性的受保护的ctor public abstract class BaseClass { private int id; public int Id { get { return id; }
即使我希望基类是抽象类,我也应该在基类中包含构造函数吗?您可以为抽象类编写构造函数,就像为普通类编写构造函数一样 对于您的情况,您可以添加一个设置id属性的受保护的ctor
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私有,我也可以保护它?
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)
{
}
}