加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP范围和类实例交互

发布时间:2020-12-13 21:34:59 所属栏目:PHP教程 来源:网络整理
导读:似乎类的不同实例可以了解彼此的私有成员变量. 我提供了一些试图展示我的问题的代码,我将尝试解释它. 我们有一个带有私有成员变量$class的类. modifyPrivateMember将$hidden的值设置为3. accessPrivateMember将Object作为参数并访问其私有$hidden成员以返回
似乎类的不同实例可以了解彼此的私有成员变量.

我提供了一些试图展示我的问题的代码,我将尝试解释它.

我们有一个带有私有成员变量$class的类. modifyPrivateMember将$hidden的值设置为3. accessPrivateMember将Object作为参数并访问其私有$hidden成员以返回其值.

示例代码:

<?php
// example.php

class Object {
    private $hidden;

    public function modifyPrivateMember() {
        $this->hidden = 3;
    }

    public function accessPrivateMember(Object $otherObject) {
        return $otherObject->hidden;
    }
}

$firstObject = new Object;
$firstObject->modifyPrivateMember();


$otherObject = new Object;
echo $otherObject->accessPrivateMember($firstObject);

输出上面的代码:

$php example.php
3

任何人都可以解释为什么同一个类的其他实例可以访问对象的私有成员?这种表面上的违反范围有什么理由吗?

解决方法

private意味着它仅限于那个类,而不仅仅是那个对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读