<分区>
多年来,我一直在使用 C++ 和 Java。我似乎无法理解的一件事是,为什么我们需要为类的构造函数提供名称?例如,如果我必须在 C++/Java 中定义一个类 FOO
,我将被迫提供 FOO
作为构造函数名称。但是,由于从未显式调用构造函数,编译器强制我为它提供一个名称到底有什么意义。
抽象范式要求我们向程序员隐藏不必要的细节。这就是构造函数没有返回类型的原因,因为它已经明确定义了构造函数必须返回的内容。本着同样的精神,为什么我们不能给所有类的构造函数一个通用名称——例如任何有意义的名称,比如 initialize()
或者什么都没有,只是参数 ( [arg [,arg]] )
我希望,我能够表达自己。如果有人有任何明确的答案,请告诉我。