ÍøÂçѧԺ w3popÉçÇø ÍøÂç×ÊÔ´ ITÐÂÎÅ

w3pop.com :: ÍøÂçѧԺ :: PHP :: PHP5 this,selfºÍparent¹Ø¼ü×ÖÏê½â

»áÔ±µÇ½

ÕʺÅ

ÃÜÂë

»Ø´ð

¼ÇסÃÜÂë

Íü¼ÇÃÜÂë? ×¢²á

PHP
php ÎÞÏÞ·ÖÀàµÄʵ..
³£ÓÃPHP´úÂë
windowsϰ²×°ÅäÖ..
MySQLÊý¾Ý¿â½á¹¹º..
PHPʵÏÖ IP Whois..
PHP5 this,selfºÍ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
PHP error_report..
PHP °²È«¼¼ÇÉÁ¬ÔØ..
ʹÓÃPHP×öLinux/U..

PHP5 this,selfºÍparent¹Ø¼ü×ÖÏê½â


×÷Õß:heiyeluren@163.com ·­Òë/ÕûÀí:w3pop.com ·¢²¼:2007-07-22 ä¯ÀÀ:3300 :: ::

PHP5ÊÇÒ»¾ß±¸Á˴󲿷ÖÃæÏò¶ÔÏóÓïÑÔµÄÌØÐÔµÄÓïÑÔ,±ÈPHP4ÓÐÁ˺ܶàµÄÃæÏò¶ÔÏóµÄÌØÐÔ,µ«ÊÇÓв¿·Ö¸ÅÄîÒ²±È½ÏÈÆÈË,ËùÒÔ½ñÌìÄóöÀ´ËµËµ,˵µÄ²»ºÃ,Çë¸ßÊÖ¼ûÁÂ. (ÔĶÁ±¾ÎÄ£¬ÐèÒªÁ˽âPHP5µÄÃæÏò¶ÔÏóµÄ֪ʶ)

Ê×ÏÈÎÒÃÇÀ´Ã÷°×ÉÏÃæÈý¸ö¹Ø¼ü×Ö: this,self,parent,´Ó×ÖÃæÉϱȽϺÃÀí½â,ÊÇÖ¸Õâ,×Ô¼º,¸¸Ç×,ºÇºÇ,±È½ÏºÃÍæÁË,ÎÒÃÇÏȽ¨Á¢¼¸¸ö¸ÅÄî,ÕâÈý¸ö¹Ø¼ü×Ö·Ö±ðÊÇÓÃÔÚʲôµØ·½ ÄØ?ÎÒÃdzõ²½½âÊÍÒ»ÏÂ,thisÊÇÖ¸Ïòµ±Ç°¶ÔÏóµÄÖ¸Õë(ÎÒÃǹÃÇÒÓÃCÀïÃæµÄÖ¸ÕëÀ´¿´°É),selfÊÇÖ¸Ïòµ±Ç°ÀàµÄÖ¸Õë,parentÊÇÖ¸Ïò¸¸ÀàµÄÖ¸Õë¡£ÎÒ ÃÇÕâÀïÆµ·±Ê¹ÓÃÖ¸ÕëÀ´ÃèÊö£¬ÊÇÒòΪûÓиüºÃµÄÓïÑÔÀ´±í´ï£¬ºÇºÇ£¬ÓïÎÄûѧºÃ¡£ -_-#

Õâô˵»¹²»ÄܺÜÁ˽⣬ÄÇÎÒÃǾ͸ù¾Ýʵ¼ÊµÄÀý×Ó½áºÏÀ´½²½²¡£

this

1 <?php
2
3 class UserName
4 { 
5     //¶¨ÒåÊôÐÔ   
6     private $name;

8     //¶¨Òå¹¹Ô캯Êý
9     function __construct( $name )
10     {
11          $this->name = $name; //ÕâÀïÒѾ­Ê¹ÓÃÁËthisÖ¸Õë
12     }
13 
14     //Îö¹¹º¯Êý
15     function __destruct(){}
16
17     //´òÓ¡Óû§Ãû³ÉÔ±º¯Êý
18     function printName()
19     {
20          print( $this->name ); //ÓÖʹÓÃÁËthisÖ¸Õë
21     }
22 }
23
24 //ʵÀý»¯¶ÔÏó
25 $nameObject = new UserName( "heiyeluren" );
26
27 //Ö´ÐдòÓ¡
28 $nameObject->printName(); //Êä³ö: heiyeluren
29
30 //µÚ¶þ´ÎʵÀý»¯¶ÔÏó
31 $nameObject2 = new UserName( "PHP5" );
32
33 //Ö´ÐдòÓ¡
34 $nameObject2->printName(); //Êä³ö£ºPHP5
35 ?>

ÎÒÃÇ¿´£¬ÉÏÃæµÄÀà·Ö±ðÔÚ11ÐкÍ20ÐÐʹÓÃÁËthisÖ¸Õ룬ÄÇôµ±Ê±thisÊÇÖ¸ÏòË­ÄØ£¿ÆäʵthisÊÇÔÚʵÀý»¯µÄʱºòÀ´È·¶¨Ö¸ÏòË­£¬±ÈÈçµÚÒ»´ÎʵÀý»¯¶Ô ÏóµÄʱºò(25ÐÐ)£¬ÄÇôµ±Ê±this¾ÍÊÇÖ¸Ïò$nameObject¶ÔÏó£¬ÄÇôִÐÐ18ÐеĴòÓ¡µÄʱºò¾Í°Ñprint( $this-><name )±ä³ÉÁËprint( $nameObject->name )£¬ÄÇôµ±È»¾ÍÊä³öÁË"heiyeluren"¡£µÚ¶þ¸öʵÀýµÄʱºò£¬print( $this->name )±ä³ÉÁËprint( $nameObject2->name )£¬ÓÚÊǾÍÊä³öÁË"PHP5"¡£ËùÒÔ˵£¬this¾ÍÊÇÖ¸Ïòµ±Ç°¶ÔÏóʵÀýµÄÖ¸Õ룬²»Ö¸ÏòÈÎºÎÆäËû¶ÔÏó»òÀà¡£

self

Ê×ÏÈÎÒÃÇÒªÃ÷È·Ò»µã£¬selfÊÇÖ¸ÏòÀà±¾Éí£¬Ò²¾ÍÊÇselfÊDz»Ö¸ÏòÈκÎÒѾ­ÊµÀý»¯µÄ¶ÔÏó£¬Ò»°ãselfʹÓÃÀ´Ö¸ÏòÀàÖеľ²Ì¬±äÁ¿¡£

1 <?php
2
3     class Counter
4     {
5         //¶¨ÒåÊôÐÔ£¬°üÀ¨Ò»¸ö¾²Ì¬±äÁ¿
6         private static $firstCount = 0;
7         private $lastCount;
8
9         //¹¹Ô캯Êý
10         function __construct()
11         {
12              $this->lastCount = ++selft::$firstCount; //ʹÓÃselfÀ´µ÷Óþ²Ì¬±äÁ¿,ʹÓÃselfµ÷ÓñØÐëʹÓÃ::(ÓòÔËËã·ûºÅ)
13         }
14
15         //´òÓ¡×î´ÎÊýÖµ
16         function printLastCount()
17         {
18              print( $this->lastCount );
19         } 
20     }
21
22 //ʵÀý»¯¶ÔÏó
23 $countObject = new Counter();
24
25 $countObject->printLastCount(); //Êä³ö 1
26
27 ?>

ÎÒÃÇÕâÀïֻҪעÒâÁ½¸öµØ·½£¬µÚ6Ðк͵Ú12ÐС£ÎÒÃÇÔÚµÚ¶þÐж¨ÒåÁËÒ»¸ö¾²Ì¬±äÁ¿$firstCount£¬²¢ÇÒ³õʼֵΪ0£¬ÄÇôÔÚ12ÐеÄʱºòµ÷ÓÃÁËÕâ¸öÖµ µÃ£¬Ê¹ÓõÄÊÇselfÀ´µ÷Ó㬲¢ÇÒÖмäʹÓÃ"::"À´Á¬½Ó£¬¾ÍÊÇÎÒÃÇËùνµÄÓòÔËËã·û£¬ÄÇôÕâʱºòÎÒÃǵ÷ÓõľÍÊÇÀà×Ô¼º¶¨ÒåµÄ¾²Ì¬±äÁ¿$ frestCount£¬ÎÒÃǵľ²Ì¬±äÁ¿ÓëÏÂÃæ¶ÔÏóµÄʵÀýÎ޹أ¬ËüÖ»ÊǸúÀàÓйأ¬ÄÇôÎÒµ÷ÓÃÀà±¾ÉíµÄµÄ£¬ÄÇôÎÒÃǾÍÎÞ·¨Ê¹ÓÃthisÀ´ÒýÓ㬿ÉÒÔʹÓà selfÀ´ÒýÓã¬ÒòΪselfÊÇÖ¸ÏòÀà±¾Éí£¬ÓëÈκζÔÏóʵÀýÎ޹ء£»»¾ä»°Ëµ£¬¼ÙÈçÎÒÃǵÄÀàÀïÃæ¾²Ì¬µÄ³ÉÔ±£¬ÎÒÃÇÒ²±ØÐëʹÓÃselfÀ´µ÷Óá£

parent

ÎÒÃÇÖªµÀparentÊÇÖ¸Ïò¸¸ÀàµÄÖ¸Õ룬һ°ãÎÒÃÇʹÓÃparentÀ´µ÷Óø¸ÀàµÄ¹¹Ô캯Êý¡£

1 <?php
2
3 //»ùÀà
4 class Animal
5 {
6     //»ùÀàµÄÊôÐÔ
7     public $name; //Ãû×Ö
8
9     //»ùÀàµÄ¹¹Ô캯Êý
10     public function __construct( $name )
11     {
12          $this->name = $name;
13     }
14 }
15
16 //ÅÉÉúÀà
17 class Person extends Animal //PersonÀà¼Ì³ÐÁËAnimalÀà
18 {
19     public $personSex; //ÐÔ±ð
20     public $personAge; //ÄêÁä
21
22     //¼Ì³ÐÀàµÄ¹¹Ô캯Êý
23     function __construct( $personSex, $personAge )
24     {
25          parent::__construct( "heiyeluren" ); //ʹÓÃparentµ÷ÓÃÁ˸¸ÀàµÄ¹¹Ô캯Êý
26          $this->personSex = $personSex;
27          $this->personAge = $personAge;
28     }
29
30     function printPerson()
31     {
32          print( $this->name. " is " .$this->personSex. ",this year " .$this->personAge );
33      }
34 }
35
36 //ʵÀý»¯Person¶ÔÏó
37 $personObject = new Person( "male", "21");
38
39 //Ö´ÐдòÓ¡
40 $personObject->printPerson(); //Êä³ö£ºheiyeluren is male,this year 21
41
42 ?>

ÎÒÃÇ×¢ÒâÕâô¼¸¸öϸ½Ú£º³ÉÔ±ÊôÐÔ¶¼ÊÇpublicµÄ£¬ÌرðÊǸ¸ÀàµÄ£¬ÊÇΪÁ˹©¼Ì³ÐÀàͨ¹ýthisÀ´·ÃÎÊ¡£ÎÒÃÇ×¢Òâ¹Ø¼üµÄµØ·½£¬µÚ25ÐУºparent:: __construct( "heiyeluren" ),ÕâʱºòÎÒÃǾÍʹÓÃparentÀ´µ÷Óø¸ÀàµÄ¹¹Ô캯Êý½øÐжԸ¸ÀàµÄ³õʼ»¯£¬ÒòΪ¸¸ÀàµÄ³ÉÔ±¶¼ÊÇpublicµÄ£¬ÓÚÊÇÎÒÃǾÍÄܹ»Ôڼ̳ÐÀàÖÐÖ±½ÓʹÓà thisÀ´µ÷Óá£

×ܽ᣺

thisÊÇÖ¸Ïò¶ÔÏóʵÀýµÄÒ»¸öÖ¸Õ룬selfÊǶÔÀà±¾ÉíµÄÒ»¸öÒýÓã¬parentÊǶԸ¸ÀàµÄÒýÓá£

ÆÀÂÛ (1) 1 All