oop - 为什么我们需要 OOP 中的构造函数?

标签 oop methods constructor

我是 OOP 的新手。我还处于学习阶段。

为什么我们需要构造函数,何时可以通过编写“初始化函数”来初始化属性(变量)的值?

基本上,即使通过编写一个用于初始化变量的函数也可以获得相同的结果,我们为什么还要编写构造函数呢?

最佳答案

构造函数是“初始化函数”

而不是调用两个函数

object = new Class;
object.initialize();

你只要打电话
object = new Class();

构造函数内部的逻辑可以与 initialize 函数内部的逻辑相同,但它更整洁,避免你命名你的函数 initialize(),我命名我的 initialize_variables(),而其他人命名他们的 init_vars()...一致性是有用。

如果您的构造函数非常大,您可能仍然希望将变量初始化拆分为一个单独的函数并从您的构造函数调用该函数,但这是该场景的一个特定异常(exception)。

关于oop - 为什么我们需要 OOP 中的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424511/

相关文章:

vba - 如何在 Locals 窗口中获取实现接口(interface)的类的属性值?

java - 将构造传递到父类(super class)

java - 是否可以在同一方法中使用 (string, int) 来获得 return (string) 和 return (int) ?

c# - 如何在类中保存方法以便稍后执行

python - @sign in python方法调用

c++ - 不同构造函数的命令行参数

c++ - [错误]请求的 'area'中属于非类类型 'r'的 'float'成员意味着什么?

javascript - TypeError : this. 重新加载不是一个函数

c++ - 在扑克 C++ 中绘制同一张牌的问题

C#/MEF 不适用于没有无参数构造函数的基类