• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于php继承的问题

php 搞代码 4年前 (2022-01-25) 13次浏览 已收录 0个评论
文章目录[隐藏]
<code>class base{    public $dog = array('color'=>'red','age'=>3);}class one extends base{    public function set($key,$value)    {        $this->dog[$key] = $value;    }}class two extends base{    public function set($key,$value)    {        $this->dog[$key] = $value;    }}$one = new one();$two = new two();$one->set('color','yellow');print_r($one->dog);//Array ( [color] => yellow [age] => 3 )print_r($two->dog);//Array ( [color] => red [age] => 3 )</code>

想要$one对象改变了dog属性之后,$two对象的dog属性也跟着改变,就要引用的那样,不知道要怎样实现?

回复内容:

<code>class base{    public $dog = array('color'=>'red','age'=>3);}class one extends base{    public function set($key,$value)    {        $this->dog[$key] = $value;    }}class two extends base{    public function set($key,$value)    {        $this->dog[$key] = $value;    }}$one = new one();$two = new two();$one->set('color','yellow');print_r($one->dog);//Array ( [color] => yellow [age] => 3 )print_r($two->dog);//Array ( [color] => red [age] => 3 )</code>

想要$one对象改变了dog属性之后,$two对象的dog属性也跟着改变,就要引用的那样,不知道要怎样实现?

static 静态关键字

<code>    class base{        public static $dog = array('<a>2本文来源gao*daima.com搞@代#码&网6</a><pre>搞gaodaima代码

color’=>’red’,’age’=>3); } class one extends base{ public function set($key,$value) { parent::$dog[$key] = $value; } } class two extends base{ public function set($key,$value) { parent::$dog[$key] = $value; } } $one = new one(); $two = new two(); $one->set(‘color’,’yellow’); print_r($one::$dog);//Array ( [color] => yellow [age] => 3 ) print_r($two::$dog);//Array ( [color] => red [age] => 3 )

单例 静态属性

补充@ 徐先生的背影

LZ应该注意代码中的parent,parent指向父类
如果换成self那么就是指向当前类

@徐先生的背影 的回答解决了你的问题,但是我觉得你可能对类和对象的理解有问题。 @pang20c 的答案就是我指的。
你把你那句 $two=new two() 改为 $two=new one() 结果还是一样的。

<code>    print_r($one->dog);//Array ( [color] => yellow [age] => 3 )    print_r($two->dog);//Array ( [color] => red [age] => 3 )</code>

也可能是我想多了。。。。不过问题基本解决了

<code>class two extends one{}</code>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于php继承的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址