对于对象的不同约定以及访问它们的函数和变量,我有些困惑。
当我从对象或对象内部访问某些内容时,我知道如何使用->
。当我在可以使用parent::item
或classname::item
的对象中时,我也知道相同的内容,但是除了使用它们之外,我对此一无所知。有人会为我分解这些内容,并解释何时和为什么我应该使用一种方法而不是另一种方法吗?
class mammal{
public age = 7;
}
class dog extends mammal{
public dogSpecificVal;
public function getAge(){
return $this->age;
return $parent::age;
return $mammal::age;
}
}
$clifford = new dog();
$cliffordAge = $clifford->getAge();
在该示例中,我使用了三种不同的方法来获取年龄。它们都可以工作,但是我不知道为什么或何时应该使用另一个。
答案 0 :(得分:0)
在类方法内,可以使用->(对象操作符):$ this-> property(其中property是属性的名称)来访问非静态属性。静态属性通过使用::(Double冒号):self :: $ property访问。有关静态和非静态属性之间差异的详细信息,请参见静态关键字。