gpt4 book ai didi

PHP 范围和类实例交互

转载 作者:可可西里 更新时间:2023-11-01 00:28:02 27 4
gpt4 key购买 nike

似乎一个类的不同实例可以知道彼此的私有(private)成员变量。

我提供了一些代码来尝试展示我的问题,我将尝试对其进行解释。

我们有一个带有私有(private)成员变量的类,$hiddenmodifyPrivateMember$hidden 的值设置为 3accessPrivateMember 将一个Object 作为参数并访问它的private $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)成员?这种表面上违反范围的行为是否有正当理由?

最佳答案

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

关于PHP 范围和类实例交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1296224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com