对象接收和返回值?

时间:2011-06-19 03:14:14

标签: php object return-value

我的书提出了一个问题:“对象与功能有什么区别?”

答案键表示函数是由名称引用的语句集,用于接收和返回值。它说对象可能有多个函数,称为方法;和多个变量,称为属性;所有这些都合并在一个单元中。

不幸的是,这本书没有说明对象是否接收和返回值......那么,他们呢?我想找个例子。

2 个答案:

答案 0 :(得分:4)

是的,可以将对象设置为可调用。

class Foo
{
  public function __invoke($arg)
  {
    echo "$arg\n";
  }
}

$f = new Foo();       // calls the __construct method if it exists
$f("Hello, World");   // calls the __invoke method.

但并非所有语言都支持这样的概念,而且这不是常态。

我看了一下你最近提出的其他一些问题。请注意,您不能执行此操作:

 Foo();

这没有任何意义,因为在此示例中Foo是一个类。

请注意,“对象”一词指的是“类”的特定实例(例如new Foo())。

答案 1 :(得分:1)

对象的方法是函数,并且在大多数情况下,就像常规函数一样工作。不同之处在于方法具有不同的可见性,并且无需传入它们即可访问其对象的属性。