Bir sınıfın farklı örnekleri birbirlerinin özel üye değişkenleri hakkında bilmek olabilir sanki.
Ben sorunu vitrin dener bazı kod sağladı, ve bunu anlatmaya çalışacağım.
Biz özel bir üye değişkeni ile bir sınıf var, $hidden
. modifyPrivateMember
$hidden
ile değerini belirler 3
. accessPrivateMember
parametre olarak bir Object
alır ve accesses its private $hidden
üyesi em> değerini döndürmek için.
Örnek kod:
<?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);
Yukarıdaki kod çıktısı:
$ php example.php
3
Nesnelerin private üyeleri aynı sınıftaki diğer örneklerini erişilebilir neden kimse açıklayabilir misiniz? Bu kapsam görünürdeki ihlali için bazı gerekçeler var mı?