社区的新手,想知道是否有关于OOP方法的最佳实践指导?
假设代码重用不是必需的(实例化/一次性例程等),私有方法本身应该分配属性值,还是返回一个由调用方法赋值的值?
考虑以下PHP示例:
<?php
class MyClass1
{
private $foo;
public function __construct()
{
$this->setFoo();
}
private function setFoo()
{
// no params
// returns void
$this->foo = 6;
}
}
class MyClass2
{
private $foo;
public function __construct()
{
$this->foo = $this->setFoo();
}
private function setFoo()
{
// no params
// returns value
return 6;
}
}
class MyClass3
{
private $foo;
public function __construct()
{
$this->foo = $this->setFoo(3);
}
private function setFoo( $val )
{
// accepts param
// returns value
return $val;
}
}
?>
MyClass1 方法是否有任何重大原因?
即。使用程序和直接访问/分配属性的方法构建,而不是接受参数并返回值(所以基本上所有DocBlock都包含 @return void )
希望这有意义 - 主要是好奇:)
非常感谢,
答案 0 :(得分:0)
这里有一个更有说服力的(尽管是面向Java的)thread,其术语比我管理的更清晰!
<强> TL; DR 强>
私有方法为过程(对象状态更改,无返回值)
私有方法为函数(对象状态不会更改,返回值)