php - PHP继承:如何从继承的父方法访问子属性?
问题描述
例如:
<?php
class animal {
private $property = "animal";
public function whoami() {
return "I am an " . $this->property . ".\n";
}
}
class emu extends animal {
private $property = "emu";
}
$emu = new emu;
echo $emu->whoami(); // "I am an animal"
上面的代码会报告“我是一只动物”,但我希望它报告“我是一只鸸鹋”,而不需要重写 whoami() 方法。
有没有办法在 PHP 中做到这一点?
解决方案
正如@cOle2 在上面的评论中回答的那样:
私有属性只能由定义该属性的类访问。我认为受保护的是你在这里所追求的。见php.net/manual/en/language.oop5.visibility.php
推荐阅读
- verilog - FSM 的这种风格是否正确且可综合?
- c++ - std::condition_variable 的内存位置可能导致 futex 错误
- php - 如何从php中的对象获取值
- python - 在 django 中,用户应该只能看到他们上传的文件
- python - 检查 NumPy 数组是否在 Python 列表中
- python - Python-Selenium:如何在新行中将列表全部导出为 CSV?
- convertigo - 为什么步骤“Get_from_session”在带有 corvertigo 服务器 7.7 的 ios 中不起作用?
- class - 将类变量转换为对象
- pycharm - 如何从 PyCharm/JetBrains IDE 启动 Windows 终端
- javascript - 将 Map 用于对象值对,数组值嵌套在 javascript 中的另一个 Map 函数中