gpt4 book ai didi

language-agnostic - 在构造函数中立即采取行动有什么问题吗?

转载 作者:行者123 更新时间:2023-12-03 20:28:19 26 4
gpt4 key购买 nike

我有这样的类(class):

class SomeObject
{
public function __construct($param1, $param2)
{
$this->process($param1, $param2);
}
...
}

所以我可以立即“调用”它作为某种全局函数,就像
new SomeObject($arg1, $arg2);

有以下好处
  • 保持简洁,
  • 易于理解,

  • 但不等待方法被调用可能会打破不成文的语义规则。

    我应该因为不好的练习而继续感觉不好,还是真的没有什么可担心的?

    澄清:
  • 我确实想要一个类的实例。
  • 我只使用类的内部方法。
  • 我在构造函数中初始化对象,但也调用了“重要的” Action 接受者方法。
  • 根据这些句子,我是自私的。

  • 示例:

    为了让您了解我通常如何使用这种方法:
    new Email('to@example.com', 'Subject line', 'Body Text');

    当然,我避免过度使用它,但在我看来,这真的很方便。

    最佳答案

    如果构造函数中的代码是创建和初始化对象以供使用的一部分,那么我会把它放在那里,但那是我个人,有些人可能不同意

    但是,看起来您所做的并不是用于构建对象/类,而是用于执行其他一些过程。这是不好的,应该用单独的方法来完成。

    保留构造函数以进行构造。

    关于language-agnostic - 在构造函数中立即采取行动有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2869082/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com