【发布时间】:2010-09-24 15:25:39
【问题描述】:
嗨,SO 社区, 我在这里看到:http://www.mustap.com/phpzone_post_203_setter-and-getter 使用的参数 一种 C# 通用的属性处理类型,即: 如果在 C# 中,您可以像这样定义一个类:
public class Person
{
private string _name;
public string Name
{
get{ return _name; }
set{ _name = value; }
}
}
那么为什么在 php 中像这样定义类似的属性是明智的还是不明智的:
public class Person
{
private var $name;
public function Name()
{
if(func_num_args() == 0) { return $this->name; }
else {$this->name = func_get_arg(0); }
}
}
【问题讨论】:
-
一个问题:为什么?通过普通的 getter/setter 语法(
getName()和setName($name))或魔术方法(让你做$foo->name = 'bar'; echo $foo->name;)这样做的目的是什么? -
Irwin - 这种语法不是 C# 所做的或看起来像的。类比不好。