我是php的新手,正在学习它的oop概念
在整个过程中,我看到了这个我无法解释的内容
构造函数如何访问甚至不属于类的属性?
<?php
class Person {
public $isAlive = true;
function __construct($name) {
$this->name = $name;
}
public function dance() {
return $this->name;
}
}
$me = new Person("Shane");
if (is_a($me, "Person")) {
echo "I'm a person, ";
}
if (property_exists($me, "name")) {
echo "I have a name, ";
}
if (method_exists($me, "dance")) {
echo "and I know how to dance!";
}
?>
上面的输出是我是一个人,我有一个名字,我知道如何跳舞!
如果&#39; name&#39;是怎么回事?是不是被声明为Person类的属性?
答案 0 :(得分:0)
与Java不同,您可以动态设置变量而无需先声明它们。
所以$this->name
基本上会将公共$name
变量作为类变量。
答案 1 :(得分:0)
可以随时创建PHP类变量,因此它与其他OO语言(如Java和C#)不同。然而,在类声明中声明变量总是一个好主意,因此程序员以后更容易找到并理解。
例如$name = NULL;