我希望父亲电子邮件在子类功能中回显,但尚未给出任何结果。 我认为$ this变量是这样做的原因。 我不确定。 请告诉我解决方案是什么,并且家长班子对孩子班级优先权的解释将非常高兴...在此先感谢
我是OOP的新手,所以需要您的帮助。
class Father
{
public $name;
public $age;
public $email;
function setInfo($fatherEmail)
{
$this->email = $fatherEmail;
}
function getEmail()
{
return $this->email;
}
}
$info = new Father;
$info->setInfo('father@gmail.com');
class Child extends Father
{
function __construct()
{
// here should be father@gmail.com (that is what I want)
parent::getEmail();
}
}
$child_info = new Child;
答案 0 :(得分:-1)
您不需要该构造函数。您也不需要实例化基类。看这里:
<?php
class Father
{
public $name;
public $age;
public $email;
function setEmail($fatherEmail)
{
$this->email = $fatherEmail;
}
function getEmail()
{
return $this->email;
}
}
class Child extends Father
{
}
$child_info = new Child();
$child_info->setEmail('father@gmail.com');
echo $child_info->getEmail();
看到它在这里https://3v4l.org/CDfnM
还可以考虑声明函数的可见性,并对属性进行私有化:
class Father
{
private $name;
private $age;
private $email;
public function setEmail($fatherEmail)
{
$this->email = $fatherEmail;
}
public function getEmail()
{
return $this->email;
}
}
具有private
vars意味着只有该类可以访问它。具有protected
var和函数意味着它们也可以在子类中访问。 public
对所有人开放。