如何在子类中将特定的设置器设置为可选
我有一个使用PHP构建的网页,用于打印递归对象数组,我有一个名为Person的父类和一个名为Teachers的子类。
现在,老师也可以教另一位老师,我将老师分为以下类型:“硕士,高级,初中”,事实上,我已经解决了这个问题,我可以看到一个对象中的一系列对象对象数组,如下所示:
class Teacher extends Person{
private $subject = '';
private $teacherType = '';
private $teachers = array();
public function __construct($data) {
parent::__construct($data);
$this->setSubject($data["subject"]);
//OPTIONAL
$this->setTeachers($data["teachers"]);
$this->setTeacherType($data["type"]);
}
我想您知道这个主意,我的问题是初级老师没有得到任何老师的支持,因为他是初级老师并且还不能教老师。但是,如果我什么也没写,它将发出一个错误消息,指出初级教师的教师数组未定义,并将为其分配一个空的教师数组对象。
有什么方法可以使特定的设置器成为可选的吗?
这是我的PHP代码:
//original value: Mon Mar 04 2019 05:21:00 GMT-0800 (Pacific Standard Time)
var m = moment(date);
m.utc();
return m.format('YYYY-MM-DD[T]HH:mm:ss[Z]');
//m.format: 2019-03-04T13:21:00Z
?>
答案 0 :(得分:-1)
也许是简单的if语句?
class Teacher extends Person
{
private $subject = '';
private $teacherType = '';
private $teachers = array();
public function __construct($data)
{
parent::__construct($data);
$this->setSubject($data["subject"]);
if (isset($data['teachers']))
$this->setTeachers($data["teachers"]);
$this->setTeacherType($data["type"]);
}