第六节 访问属性和方法 [6]

一个对象实例的品质是变量,有如PHP的此外变量相像.
可是你不得不利用-运算符来引用它们. 不须要在性质前应用澳元符$. 比如,
6.1中打字与印刷User对象的name属性那一行.
可以联用-,如果叁个对象的品质包罗了叁个目标,你能够应用三个-运算符来获得内部对象的属性.
你以至足以用重新援引的字符串来放置那些公布式.
看6.5中的例子,对象House中的属性room富含了一组Room对象.访问方法和访问属性相符.
-运算符用来指向实例的方法. 在例子6.1中调用getLastLogin正是.
方法推行起来和类外的函数大约相通.如若二个类从另一类中一而再三番五次而来,父类中的属性和办法就要子类中都有效,纵然在子类中尚无注明.
像早先提到过的,世襲是可怜强盛的.
假若你想访谈多少个无冕的性质,你只需求像访谈基类本人的习性那样援引就可以,使用::运算符.?php
class Room { public $name; function __construct($name=”unnamed”) {
$this-name = $name; } } class House { //array of rooms public $room; }
//create empty house $home = new house; //add some rooms $home-room[]
= new Room(“bedroom”); $home-room[] = new Room(“kitchen”);
$home-room[] = new Room(“bathroom”); //show the first room of the
house print($home-room[0]-name卡塔尔国; ?
PHP有多个奇特的命名空间:parent命名空间指向父类,self命名空间指向当前的类.
例子6.6中显得了如何用parent命名空间来调用父类中的构造函数.
同一时常候也用self来在构造函数中调用另三个类方法.?php class Animal file://动物
{ public $blood; file://热血or冷血属性 public $name; public function
__construct($blood, $name=NULL卡塔尔国 { $this-blood = $blood; if($name卡塔尔 {
$this-name = $name; } } } class Mammal extends Animal file://哺乳动物 {
public $furColor; file://皮毛颜色 public $legs; function
__construct($furColor, $legs, $name=NULL) {
parent::__construct(“warm”, $name); $this-furColor = $furColor;
$this-legs = $legs; } } class Dog extends Mammal { function
__construct($furColor, $name) { parent::__construct($furColor, 4,
$name); self::bark(); }function bark() { print(“$this-name says
‘woof!'”卡塔尔国; } } $d = new Dog(“Black and Tan”, “Angus”卡塔尔; ?
第2节中介绍了哪些调用函数.
对于指标的成员来是那般调用的:倘让你必要在运转时规定变量的称谓,你能够用$this-$Property那样的发挥式.
即便你想调用方法,能够用$obj-$method(State of Qatar.你也得以用-运算符来重回二个函数的值,那在PHP从前的版本中是不准的.
比方,你可以写一个像那样的表达式: $obj-getObject(卡塔尔国-callMethod(卡塔尔国.
那样防止了使用多少个在那之中变量,也助长达成某个设计格局,如Factory情势。

*
+——————————————————————————-+
| = 本文为Haohappy读<> 
| = 中Classes and Objects一章的笔记 
| = 翻译为主+个人体会 
| = 为防止大概产生的不须要的劳动请勿转发,多谢 
| = 迎接争论指正,希望和兼具PHP爱好者协同升高! 
| = PHP5钻探为主: 
+——————————————————————————-+
*/

第六节–访谈属性和办法

一个目的实例的性格是变量,仿佛PHP的其他变量同样. 只是你必须要选用->运算符来援用它们. 没有要求在性质前使用加元符$. 举个例子, 6.1中打字与印刷User对象的name属性那一行. 

可以联用->,若是三个目的的脾气包含了贰个目的,你能够利用四个->运算符来得到内部对象的属性. 你依旧足以用重新援用的字符串来放置这么些发表式. 看6.5中的例子,对象House中的属性room包涵了一组Room对象.

访谈方法和访谈属性相同. ->运算符用来指向实例的方法. 在例子6.1中调用getLastLogin正是. 方法试行起来和类外的函数差相当的少相近.

若果四个类从另一类中继续而来,父类中的属性和艺术将要子类中都有效,就算在子类中尚无注明. 像此前提到过的,世袭是那一个强盛的. 如若你想访谈贰个后续的品质,你只须要像访问基类自个儿的性质那样援引就能够,使用::运算符.

复制代码 代码如下:   class Room  
   {  
       public $name;  

       function __construct($name=”unnamed”)  
澳门新浦京8455com,       {  
           $this->name = $name;  
       }  
   }  

   class House  
   {  
       //array of rooms  
       public $room;  
   }  

   //create empty house  
   $home = new house;  

   //add some rooms  
   $home->room[] = new Room(“bedroom”);  
   $home->room[] = new Room(“kitchen”);  
   $home->room[] = new Room(“bathroom”);  

   //show the first room of the house  
   print($home->room[0]->name);  
?>  

PHP有七个极其的命名空间:parent命名空间指向父类,self命名空间指向当前的类. 例子6.6中显示了如何用parent命名空间来调用父类中的布局函数. 同期也用self来在结构函数中调用另贰个类方法.

复制代码
代码如下:   class Animal //动物  
   {  
       public $blood; //热血or冷血属性  
       public $name;  
       public function __construct($blood, $name=NULL)  
       {  
           $this->blood = $blood;  
           if($name)  
           {  
               $this->name = $name;  
           }  
       }  
   }  

   class Mammal extends Animal  //哺乳动物  
   {  
       public $furColor; //皮毛颜色  
       public $legs;  

       function __construct($furColor, $legs, $name=NULL)  
       {  
           parent::__construct(“warm”, $name);  
           $this->furColor = $furColor;  
           $this->legs = $legs;  
       }  
   }  

   class Dog extends Mammal    
   {  
       function __construct($furColor, $name)  
       {  
           parent::__construct($furColor, 4, $name);  

           self::bark();  
       }  

       function bark()  
       {  
           print(“$this->name says ‘woof!'”);  
       }  
   }  

   $d = new Dog(“Black and Tan”, “Angus”);  
?>  

第四章中介绍了什么样调用函数. 对于指标的积极分子来是那般调用的:借令你必要在运行时规定变量的名目,你能够用$this->$Property那样的表明式. 要是你想调用方法,能够用$obj->$method(卡塔尔.

您也能够用->运算符来重返二个函数的值,那在PHP早先的版本中是差异意的. 比如,你能够写叁个像这样的表明式: $obj->getObject(State of Qatar->callMethod(卡塔尔. 这样制止了使用叁当中档变量,也推动达成有个别设计形式,如Factory情势. 

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图