gpt4 book ai didi

java - 模型类属性应该私有(private)还是公共(public)?

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

我的脑海里一直萦绕着一个问题。

我的模型类应该具有私有(private)属性还是公共(public)属性? (下面的代码是用 PHP 编写的,但问题通常适用于任何语言)

class Xyz extends Model {

public function __call() {

}

public $description;

public $title;
}

在上面的示例中,我有公共(public)属性 $description 和 $title。我应该将它们设为私有(private)吗?

我按如下方式更新我的模型

$x = new Xyz();
$x->title('Hello');
$x->description('Blah blah');
$x->save();

我可以使用魔术方法 __call 来更新和获取它们。那么为什么我们需要将它们公开呢?我可以将它们设为私有(private)。但正如我所看到的,所有框架都将模型属性保持为公开。

有什么想法吗?

更新:

在答案中,每个人都说遵循封装并使用私有(private)方法。很好,但没有人知道为什么某些 PHP 框架将模型属性公开?应该有什么原因吧?

最佳答案

根据 OOP,我们需要遵循封装。请将您的属性设置为私有(private)并具有公共(public)访问器和修改器。但是,这取决于您的访问器和修改器也可以有其他修饰符。但是,属性应该始终是私有(private)

关于java - 模型类属性应该私有(private)还是公共(public)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19997353/

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