类中的属性和方法(成员属性和成员方法),可以通过类的对象来访问。另外还有一些特殊的访问方法,如$this 对象 和 :: 操作符。
例1:
class Student { public $name = 'studentName'; function GetInfo(){ echo '<br>'.$this->name.'<br>'; } } $stu = new Student(); // 实例化Student类,$stu是Student类的对象 echo $stu->name; //直接访问属性 $stu->GetInfo(); //直接访问方法,在方法中通过$this访问name属性
运行效果:
studentName studentName
例2:
class Student { public static $name = 'studentName'; static function GetInfo(){ echo '<br>'.self::$name.'<br>'; } } echo Student::$name; //可以不经过对象直接访问 echo '<br>'; $stu = new Student(); echo $stu::$name; $stu->GetInfo();
添加了static 关键字的变量是类的静态属性。静态属性可以不经过对象直接访问。
因为静态属性的内存位置不在对象中,所以不能使用 -> 来访问。在类的内部,也不能使用 $this 来访问。
在类和对象的代码中,访问静态对象都使用 :: 操作符,并且要加 $ 符。
静态方法仍可以使用 -> 来访问。
运行效果:
studentName studentName studentName