通过例子来学习比较轻松。
class BaseObj{
private static $arrList=[];
private static $ID=0;
protected $name;
public $aliasName;
public function __construct(string $name){
self::$ID=self::$ID+1;//ID自动加1
if($name==''||$name==null){//如果不传入名称则自动添加名称
$this->name="未命令".self::$ID;
}else{
$this->name=$name;
}
self::$arrList[self::$ID]=$this->name;//添加到控件数组
}
public function GetName(){//输出名称
return $this->name;
}
public function GetID(){//输出ID
return self::$ID;
}
public function GetArrList(){//输出控件数组
return self::$arrList;
// for($i=1;$iGetName();
echo "";
$TmpObj2=new ExtObj('');
echo $TmpObj2->GetName();
echo "";
$TmpObj3=new ExtObj('控件3');
echo $TmpObj3->GetName();
echo "";
$TmpObj1->GetArrList();
echo "";
输出:
在上面的例子中:
1、$ID是静态私有变量,为类所有,调用方式:self::$ID
2、$name是受保护变量,为类自身和子类所有,调用方式:$this->name 3、调用父类方法(公用或者受保护方法),调用方式:parent::GetID() 4、$this指对象本身,一般使用它来调用当前类的正常属性和方法;self指当前类本身,一般使用它来调用当前类的静态属性和方法;parent指当前类的父类,一般使用它调用父类的正常方法和属性。