我的书提出了一个问题:“对象与功能有什么区别?”
答案键表示函数是由名称引用的语句集,用于接收和返回值。它说对象可能有多个函数,称为方法;和多个变量,称为属性;所有这些都合并在一个单元中。
不幸的是,这本书没有说明对象是否接收和返回值......那么,他们呢?我想找个例子。
答案 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)
对象的方法是函数,并且在大多数情况下,就像常规函数一样工作。不同之处在于方法具有不同的可见性,并且无需传入它们即可访问其对象的属性。