プロパティとメソッドへのアクセス
オブジェクト インスタンスのプロパティは、PHP の他の変数と同様に変数ですが、それらを参照するには -> 演算子を使用する必要があります。 の前にドル記号 $ を使用する必要はありません。
オブジェクトのプロパティにオブジェクトが含まれている場合は、2 つの -> 演算子を二重参照文字列に配置することもできます。メソッドは、プロパティにアクセスするのと似ています。 -> 演算子は、クラスの外部の関数とほぼ同じように実行されます。
クラスが別のクラスから継承する場合、親クラスのプロパティとメソッドは次のようになります。前述のように、継承されたプロパティにアクセスしたい場合は、基本クラスの独自のプロパティにアクセスする場合と同様に、そのプロパティを参照するだけで済みます。 ::operator.
<?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 には 2 つの特別な名前空間があります。親名前空間は親クラスを指し、自己名前空間は現在のクラスを指します。この使用方法を例 6.6 に示します。親クラスのコンストラクターを呼び出すには親の名前空間を使用します。また、コンストラクターで別のクラスのメソッドを呼び出すには self を使用します。
<?php 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()->callMethod() のような式を記述できます。これにより、中間変数の使用が回避され、特定のデザイン パターンの実装にも役立ちます。ファクトリーパターンなど。
http://www.bkjia.com/PHPjc/446726.html
www.bkjia.com
本当
- http://www.bkjia.com/PHPjc/446726.html
技術記事
プロパティとメソッドへのアクセス オブジェクト インスタンスのプロパティは、PHP の他の変数と同様に変数ですが、プロパティの前にドル記号 $ を使用する必要はありません。