|
|
1
13
是的,完全没问题。仅仅因为构造函数只能由派生类调用并不意味着它就没有用处。例如,您可能有一个抽象类,它表示某种命名实体—将名称作为构造函数参数是有意义的。 可能值得保护构造函数,使之更明显,您不能从其他地方直接调用它。 注意在抽象类中有一个构造函数(或多个构造函数) 做 不 强制派生类具有相同的构造函数签名。例如:
|
|
|
2
5
绝对没有理由不在抽象基类中使用构造函数。
抽象类被初始化,其工作方式与任何其他类一样。这个
例如,如果没有抽象方法、属性或事件,则可以通过使类的构造函数
然后,主要的区别就变成了将方法、属性和事件声明为抽象的能力,只有当类被标记时才可以这样做
|
|
|
4
0
抽象类型上的构造函数只能由派生类型调用。由于公共构造函数创建类型的实例,并且您无法创建抽象类型的实例,因此具有公共构造函数的抽象类型的设计不正确。 CA1012: Abstract types should not have constructors 通过将构造函数的可访问性从public更改为 受保护的 例子:
|
|
|
Rishab Negi · 这个关键字在抽象类中是如何工作的 11 月前 |
|
|
Reelie · C#11-通过抽象类在接口中静态抽象成员? 1 年前 |
|
Denis Steinman · 如何从内部命名空间为类创建别名?复制 1 年前 |
|
|
vimal raj · javascript中类的执行顺序 2 年前 |
|
|
Max · 如何使用抽象/接口类的向量作为函数参数? 2 年前 |
|
|
timurichk · 我的类不重写抽象方法compareTo 8 年前 |