我是 PHP 中 OOP 的新手。我有以下问题:我有 1 个名为“用户”的父类和 2 个子类“业务”和“标准”。
我的父类看起来像这样:
class User {
protected $m_iId;
protected $m_iFoto;
protected $m_sEmail;
/*Constructor*/
public function __construct(){
$this->Id = -1;
$this->Foto = "";
$this->Email = "";
}
/*Setter*/
public function __set($p_sProperty, $p_sValue){
switch($p_sProperty){
case "Id":
if(is_numeric($p_sValue) && $p_sValue !== -1){
$iNumber = intVal($p_sValue);
if($iNumber >= -1){
$this->m_iId = $p_sValue;
}
else{
echo("Not a valid id: ".$p_sValue);
}
}
break;
case "Foto":
if(is_numeric($p_sValue) && $p_sValue !== -1){
$iNumber = intVal($p_sValue);
if($iNumber >= -1){
$this->m_iFoto = $p_sValue;
}
else{
echo("Not a valid Foto_id: ".$p_sValue);
}
}
break;
case "Email":
$this->m_sEmail = $p_sValue;
break;
default: echo("Unknown property: ".$p_sProperty);
}
}
/*Getter*/
public function __get($p_sProperty){
$vResult = null;
switch($p_sProperty){
case "Id";
$vResult = $this->m_iId;
break;
case "Foto";
$vResult = $this->m_iFoto;
break;
case "Email";
$vResult = $this->m_sEmail;
break;
default: echo("Unknown property: ".$p_sProperty);
}
return $vResult;
}
}
一个孩子看起来像这样:
class UserStandaard extends User {
//velden die bereikbaar zijn
protected $m_sName;
/*Constructor*/
public function __construct(){
parent::__construct();
$this->Name = "";
}
/*Setter*/
public function __set($p_sProperty, $p_sValue){
switch($p_sProperty){
case "Name":
$this->m_sName = $p_sValue;
break;
default: echo("Unknown property: ".$p_sProperty);
}
}
/*Getter*/
public function __get($p_sProperty){
$vResult = null;
switch($p_sProperty){
case "Name";
$vResult = $this->m_sName;
break;
default: echo("Unknown property: ".$p_sProperty);
}
return $vResult;
}
}
我的问题如下:我如何申请身份证?我想做类似的事情:
$oUser = new UserStandaard();
echo $oUser->Id;
但这不起作用......它一直在回响
Unknown property: Id
谢谢!!