nav*_*val 34 c# oop constructor
是否可以覆盖派生类中的基类的构造函数?
如果是这样,它如何实现,以及在什么用例中这是实用的?如果没有,为什么不呢?
Jon*_*eet 50
不,你不能覆盖构造函数.这个概念在C#中没有意义,因为构造函数根本不是多态调用的.您总是说明您要构建哪个类,以及构造函数的参数.
构造函数根本不是继承的 - 但派生类中的所有构造函数必须链接到同一个类中的另一个构造函数,或链接到基类中的一个构造函数.如果不明确地执行此操作,则编译器会隐式链接到基类的无参数构造函数(如果该构造函数不存在或无法访问,则会发生错误).
She*_*ezi 15
不,构造函数不是继承的.您不能在派生类中覆盖它们.
原因
对于从object继承的每个类,总是会调用一个基本构造函数,因为每个类必须至少有一个构造函数调用base()构造函数(显式或隐式),并且对this()构造函数的每次调用都必须最终调用一个base()构造函数.
不,你不能覆盖构造函数.
如果您查看构造函数的基本语法,它应该与您为其编写的类具有相同的名称.
可以说,你编写了一个与基类同名的方法(与基类构造函数相同),它只是派生类中的一个新方法,没有指定返回类型,这在语法上是不正确的.
| 归档时间: |
|
| 查看次数: |
43730 次 |
| 最近记录: |