dongzhangnong2063 2015-11-01 22:00
浏览 54

可以从子类访问父类私有属性

<?php
class Parent_Class
{
    //Properties defined
    private $name = "Faizan";
    //Constructor defined
    public function __construct () {
            echo 'The class "',__CLASS__.'" initialized <br>';
        }
    //Methods defined
    public function setName ($name) {
            $this->name = $name;
        }
    public function getName () {
            return $this->name;
        }
    // __toString() Method
    public function __toString () {
            return "<b>".__CLASS__."</b> toString magic method called <br>";
        }
    //Destructor defined
    public function __destruct () {
            echo 'The class "', __CLASS__,'" destroyed <br>';
        }
}
class Child_Class extends Parent_Class
{
    //Parent property override
    //private $name = "Abdullah";
    //Child class constructor override
    public function __construct () {
            parent::__construct();
            echo 'This is the <b>"', __CLASS__, '"</b> constructor. <br>';
        }
    //Child class __toString() override
    public function __toString () {
            parent::__toString();
            return "<b> ". __CLASS__ . "</b> toString() method <br>";
        }
    //Parent methods in class override
    public function setName ($name) {
            $this->name = $name;
        }
    public function getName () {
            return $this->name. " " .parent::getName();
        }
    //Child class destructor override
    public function __destruct() {
            parent::__destruct();
            echo 'The is the <b>"', __CLASS__, '"</b> destructor. <br>';
        }
}
$pObj = new Parent_Class;
echo $pObj->getName()."<br>";
$obj = new Child_Class;
echo $obj;  
echo $obj->getName(),"<br>";
//unset($obj);
$obj->setName("Ali");   
echo $obj->getName(), "<br>";
echo $pObj->getName()."<br>";       
?>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 stm32开发clion时遇到的编译问题
    • ¥15 lna设计 源简并电感型共源放大器
    • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
    • ¥15 Vue3地图和异步函数使用
    • ¥15 C++ yoloV5改写遇到的问题
    • ¥20 win11修改中文用户名路径
    • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
    • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
    • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
    • ¥15 帮我写一个c++工程