任何地方;父类,自身,子类;自身
public; protected; private
变量var和函数省略的话是public属性。
注意,变量不能省略,直接$a='abc';即类属性必须定义为公有,受保护,私有之一。
<?php
/**
* Define MyClass
*/
class MyClass
{
public $public = 'Public' ;
protected $protected = 'Protected' ;
private $private = 'Private' ;
function printHello ()
{
echo $this -> public ;
echo $this -> protected ;
echo $this -> private ;
}
}
$obj = new MyClass ();
echo $obj -> public ; // 这行能被正常执行
echo $obj -> protected ; // 这行会产生一个致命错误
echo $obj -> private ; // 这行也会产生一个致命错误
$obj -> printHello (); // 输出 Public、Protected 和 Private
/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// 可以对 public 和 protected 进行重定义,但 private 而不能
protected $protected = 'Protected2' ;
function printHello ()
{
echo $this -> public ;
echo $this -> protected ;
echo $this -> private ;
}
}
$obj2 = new MyClass2 ();
echo $obj2 -> public ; // 这行能被正常执行
echo $obj2 -> protected ; // 这行会产生一个致命错误
echo $obj2 -> private ; // 未定义 private
$obj2 -> printHello (); // 输出 Public、Protected2 和 Undefined
php的访问属性:public;protect;private
最新推荐文章于 2022-06-20 22:31:43 发布