php的parent_php里parent,::和self的分别

php里parent,::和self的分别

来源:互联网  宽屏版  评论

2005-11-28 12:28:07

dfab62a931c961368cf274761906a5ff.gif/*self的特点*/

dfab62a931c961368cf274761906a5ff.gifclass  a

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif public  static  $a1 ="我是类a";

dfab62a931c961368cf274761906a5ff.gif function  ca ()

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif echo  "这是类a:".self ::$a1 ;

dfab62a931c961368cf274761906a5ff.gif//self的特点是:只能访问静态变量(static)

dfab62a931c961368cf274761906a5ff.gif echo  "";

dfab62a931c961368cf274761906a5ff.gif//输出结果:a1

dfab62a931c961368cf274761906a5ff.gif

dfab62a931c961368cf274761906a5ff.gif    }

dfab62a931c961368cf274761906a5ff.gif}$o =new  a ;

dfab62a931c961368cf274761906a5ff.gif$o ->ca ();

dfab62a931c961368cf274761906a5ff.gif/*[dollar]this,parent的特点*/

dfab62a931c961368cf274761906a5ff.gifclass  b

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif public  $b1 ="我是类b";

dfab62a931c961368cf274761906a5ff.gif public  static  $b2 ="b2";

dfab62a931c961368cf274761906a5ff.gif function  cb ()

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif echo  "这是类b:". $this ->b1 ;

dfab62a931c961368cf274761906a5ff.gif//最普通的访问方法;输出:b1

dfab62a931c961368cf274761906a5ff.gif echo  "";

dfab62a931c961368cf274761906a5ff.gif echo  $this ->b2 ;

dfab62a931c961368cf274761906a5ff.gif//[dollar]this就不能访问static变量了;没有任何输出

dfab62a931c961368cf274761906a5ff.gif

dfab62a931c961368cf274761906a5ff.gif    }

dfab62a931c961368cf274761906a5ff.gif}$b1 =new  b ;

dfab62a931c961368cf274761906a5ff.gif$b1 ->cb ();

dfab62a931c961368cf274761906a5ff.gifclass  eb  extends  b

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif function  c ()

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif echo  "这是类eb,执行多一次类b了:".parent ::cb ();

dfab62a931c961368cf274761906a5ff.gif echo  "";

dfab62a931c961368cf274761906a5ff.gif //parent的意思是指向extends的b类,和b::cb()一样,

dfab62a931c961368cf274761906a5ff.gif //当然也可以使用b::cb()这样访问,但以后修改起来就会很麻烦

dfab62a931c961368cf274761906a5ff.gif

dfab62a931c961368cf274761906a5ff.gif    }

dfab62a931c961368cf274761906a5ff.gif}$eb1 =new  eb ;

dfab62a931c961368cf274761906a5ff.gif$eb1 ->c ();

dfab62a931c961368cf274761906a5ff.gif/*::的特点*/

dfab62a931c961368cf274761906a5ff.gifclass  t1

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif public  $tt1 ="tt1";

dfab62a931c961368cf274761906a5ff.gif function  t1_fun ()

be99e81139f8de094c1e69c836a79ecf.gif{...

dfab62a931c961368cf274761906a5ff.gif echo  "我不是类,只是函数.怎样?!这是在没有实例化对象情况下输出的!";

dfab62a931c961368cf274761906a5ff.gif echo  $this ->tt1 ;

dfab62a931c961368cf274761906a5ff.gif//在对象没有实例时,这样的调用是错误的!

dfab62a931c961368cf274761906a5ff.gif

dfab62a931c961368cf274761906a5ff.gif    }

dfab62a931c961368cf274761906a5ff.gif}t1 ::t1_fun ();

dfab62a931c961368cf274761906a5ff.gif//这是::的特点,可以在没有实例对象时,就直接调用类里的函数,注意:纯粹是函数而已

[code]

/*self的特点*/

class a

{

public static $a1="我是类a";

function ca()

{

echo "这是类a:".self::$a1;//self的特点是:只能访问静态变量(static)

echo "

";//输出结果:a1

}

}

$o=new a;

$o->ca();

/*$this,parent的特点*/

class b

{

public $b1="我是类b";

public static $b2="b2";

function cb()

{

echo "这是类b:".$this->b1;//最普通的访问方法;输出:b1

echo "

";

echo $this->b2;//$this就不能访问static变量了;没有任何输出

}

}

$b1=new b;

$b1->cb();

class eb extends b

{

function c()

{

echo "这是类eb,执行多一次类b了:".parent::cb();

echo "

";

//parent的意思是指向extends的b类,和b::cb()一样,

//当然也可以使用b::cb()这样访问,但以后修改起来就会很麻烦

}

}

$eb1=new eb;

$eb1->c();

/*::的特点*/

class t1

{

public $tt1="tt1";

function t1_fun()

{

echo "我不是类,只是函数.怎样?!这是在没有实例化对象情况下输出的!";

echo $this->tt1;//在对象没有实例时,这样的调用是错误的!

}

}

t1::t1_fun();//这是::的特点,可以在没有实例对象时,就直接调用类里的函数,注意:纯粹是函数而已

[/code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值