不是这个意思 class C0{ function func1(){ echo 'func1'; } function func2(){ echo 'func2'; } }class C1{ var $o; function c1{ $this->o=new C0; $this->o->func1();//允许 $this->o->func2();//允许 } } class C2{ function C2{ $c1=new C1; $c1->o->func1();//如何禁止??? } }
就是说只有用$this->o才能访问
<?php class C0 { function func1(){ echo 'func1'; } function func2(){ echo 'func2'; } }class C1 { private $o; function c1(){ $this->o=new C0; $this->o->func1();//允许 $this->o->func2();//允许 } } class C2 { function C2(){ $c1=new C1; $c1->o->func1();//如何禁止??? } }$c1=new C1; echo "<br />"; $c2=new C2; ?>
class C2{ function C2{ $c1=new C1; $c1->o->func1();//如何禁止??? $c1->o->func2();//允许 } }
class C0{
function func1(){
echo 'func1';
} function func2(){
echo 'func2';
}
}class C1{
var $o;
function c1{
$this->o=new C0;
$this->o->func1();//允许
$this->o->func2();//允许
}
}
class C2{
function C2{
$c1=new C1;
$c1->o->func1();//如何禁止???
}
}
class C0
{
function func1(){
echo 'func1';
} function func2(){
echo 'func2';
}
}class C1
{
private $o;
function c1(){
$this->o=new C0;
$this->o->func1();//允许
$this->o->func2();//允许
}
}
class C2
{
function C2(){
$c1=new C1;
$c1->o->func1();//如何禁止???
}
}$c1=new C1;
echo "<br />";
$c2=new C2;
?>
function C2{
$c1=new C1;
$c1->o->func1();//如何禁止???
$c1->o->func2();//允许
}
}
因为要禁止,就必须对C0的func1()或C1的$o进行私有声明
而
对C0的func1()进行私有声明,则C1无法访问到
对C1的$o进行私有声明,则C2无法访问到.
class Event{
function addListener($obj,$func);
function raise();
}
我希望只有在声明这个对象的类里面才可以调用raise();
希望可以有一个解决办法
或者换一种结构也可以