オブジェクト インスタンスのプロパティは、PHP の他の変数と同様に変数ですが、たとえば、名前を出力する場合は、-> 演算子を使用する必要があります。 6.1 の User オブジェクトのプロパティ
は -> とともに使用でき、オブジェクトのプロパティにオブジェクトが含まれている場合は、2 つの -> 演算子を使用して内部オブジェクトのプロパティを取得することもできます。 6.5 の例を見ると、オブジェクト House のプロパティ ルームには、プロパティへのアクセスと同様のメソッドが使用されます。例 6.1 では、 getLastLogin の呼び出しは、クラス外の関数とほぼ同じように実行されます
クラスが別のクラスから継承している場合、親クラスのプロパティとメソッドは子クラスでも有効です。前述のように、継承は非常に強力です。継承されたプロパティにアクセスしたい場合は、基本クラスの独自のプロパティにアクセスする場合と同様に、:: 演算子を使用して参照するだけです。
クラスルーム
{
public $name;
function __construct($name="unnamed")
{
$this->name = $name
}
}
クラスハウス
{
; //部屋の配列
public $room;
//空の家を作成
$home = 新しい家;
//いくつかの部屋を追加
$home->room[] = new Room("bedroom") ;
$home->room[] = new Room("kitchen");
$home->room[] = new Room("bathroom");
//家の最初の部屋を表示します
print ($home->部屋[0]->名前);
PHP には 2 つの特別な名前空間があります。親名前空間は親クラスを指し、self 名前空間は現在のクラスを指します。例 6.6 は、親クラスのコンストラクターを呼び出すために親名前空間を使用する方法を示しています。Self はコンストラクターでも使用されます。関数内で別のクラスメソッドを呼び出します。
class Animal file://animal
{
public $blood; file://熱血または冷血属性
public $name; __construct($blood, $name=NULL)
{
$this->blood = $blood;
if($name)
{
$this->name = $name
}
}
}哺乳類の拡張動物 file://mammal
{
public $furColor; file://fur color
public $legs;
function __construct($furColor, $legs, $name=NULL)
parent::__construct ("warm" , $name);
$this->furColor = $furColor;
$this->legs = $legs;
}
}
class Dog は哺乳類を拡張します
{
function __construct($furColor, $name)
{
parent::__construct($furColor, 4, $name);
self::bark();
}
function bark()
{
print("$this->name は'ワンワン!' ");
}
}
$d = 新しい犬("ブラック アンド タン"、"アンガス");
?>
セクション 4 では、オブジェクトのメンバーの関数の呼び出し方法を紹介します。実行時に変数の名前を決定する必要がある場合は、$this->$Property のような式を使用できます。メソッドでは、$obj->$method() を使用できます。
以前のバージョンの PHP では許可されていない -> 演算子を使用することもできます。 a 次のような式: $obj->getObject()->callMethod() これにより、中間変数の使用が回避され、Factory パターンなどの特定の設計パターンの実装にも役立ちます。
http://www.bkjia.com/PHPjc/314117.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/314117.html