只是一个想法:
示例(在 PHP 中):设置名称:$object->name('name'); 获取名称:$object->name();
如果没有参数:该方法用作 getter,否则用作 setter。对于简单的 getter/setter。愚蠢,无论如何,也许?
编辑:跟进答案:我不太喜欢get和set,因为我更喜欢让界面尽可能明确。当只有几个属性时,恕我直言,这也是矫枉过正。因此,我想将其缩小到具有几个显式 getter/setter 的类/对象。
问题是很难遵循。我更喜欢使用 PHP5 的 __get 和 __set,这样获取和设置变量更自然,而且每个人都会确切地知道我在做什么。IE:
我的班级 { 函数 __get($name) { 返回 $this->array[$name]; } 函数 __set($name, $value) { $this->array[$name] = $value; } 函数打印() { echo $this->array['test']; } } $obj = 新的 myClass; $obj->test = "嗨"; 回声$obj->测试;//回声嗨。 $obj->打印();//回声嗨。
可以使用 __call() 魔术方法来完成。
class Test {
public function __call($name, array $args) {
$variable =& $this->$name;
if(!empty($args)) {
$variable = $args[0];
}
return $variable;
}
}
当然,如果它在您的应用程序中有意义,您可以这样做,否则我只会使用已经为您设置的标准 getter/setter。您的函数可能如下所示:
public function name($val = null)
{
if (is_null($val))
{
return $this->name;
}
else
{
$this->name = $val;
}
}