作者共发了1篇帖子。 内容转换:不转换▼
 
点击 回复
413 0
【关系】php中基类和子类的同名属性的调用关系
一派护法 十九级
1楼 发表于:2016-2-18 17:53
<?php
class Par {
    private $data;
    
    public function setParentData() {
        $this->data = 'Parent';
    }
    
    public function showParentData() {
        echo 'Par::data = ', $this->data, '<br>';
        echo 'I know you have $', $this->money, '.<br>';
        echo 'But I don\'t know your data.<br>';
    }
}

class Me extends Par {
    public $data;
    public $money;
    
    public function setData() {
        $this->data = 'Me';
        $this->money = 63;
    }
    
    public function showData() {
        echo 'Me::data = ', $this->data, '<br>';
        echo 'Me::money = ', $this->money, '<br>';
    }
}

$me = new Me();
$me->setData();
$me->setParentData();
$me->showParentData();
$me->showData();

输出:
Par::data = Parent
I know you have $63.
But I don't know your data.
Me::data = Me
Me::money = 63

所以,当父类的data变量为private时,父类不能访问子类的同名变量data,子类也不能通过parent::$data访问父类的data变量。

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:413 回复数:0
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-2-18 17:53
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。