![]() |
1
34
有时,在子类化时,您希望限制创建类实例所需的条件。
让我给你举个例子。如果类确实继承了它们的超类构造函数,那么所有类都将具有来自的无参数构造函数
|
![]() |
2
29
如果你想一想如果构造函数 是 继承之后,您应该开始看到问题所在。 像 nearly every type in .NET inherits from Object (它有一个无参数构造函数),这意味着您创建的几乎每种类型都将被迫有一个无参数构造函数。但是有 无参数构造函数没有意义的类型。 版本控制也会有问题。如果基类型的新版本出现时带有新构造函数,则会自动在派生类型中获得新构造函数。这将是一件坏事,而且是 fragile base class 问题 还有一个更哲学的论点。继承是关于类型责任的(我就是这么做的)。构造函数是关于类型协作的(这就是我需要的)。因此,继承构造函数将混合类型责任和类型协作,而这两个概念实际上应该保持分离。 |
![]() |
3
12
|
![]() |
4
2
我想你的意思是:
我相信这是从C++(和java)继承的。
|
![]() |
5
0
当Bar被实例化时,默认情况下它将调用Foo()构造函数。
如果没有无参数构造函数,则需要定义要使用的构造函数并传递参数。 |
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Tali · 继承-您应该使用基类,还是它们只是子类的框架? 2 年前 |
![]() |
mask2 · 如何轻松访问继承类的功能? 2 年前 |
![]() |
Dimon · 父类中的Setter,以及一些没有参数的子类 2 年前 |
![]() |
Miguerurso · Javascript类继承无法正常工作 2 年前 |
![]() |
GuessMe · 返回新类对象的正确方法(也可以扩展) 2 年前 |
![]() |
Daniel Lizik · 重写父类构造函数的子类成员初始值设定项 2 年前 |
![]() |
i_know_what · 以基类作为参数重写错误的方法 2 年前 |