ホームページ  >  記事  >  php教程  >  セクション 6 プロパティとメソッドへのアクセス [6]

セクション 6 プロパティとメソッドへのアクセス [6]

WBOY
WBOYオリジナル
2016-06-13 12:45:481173ブラウズ


オブジェクト インスタンスのプロパティは、PHP の他の変数と同様に変数ですが、たとえば、名前を出力する場合は、-> 演算子を使用する必要があります。 6.1 の User オブジェクトのプロパティ

は -> とともに使用できます。オブジェクトのプロパティにオブジェクトが含まれている場合は、2 つの -> 演算子を使用して内部オブジェクトのプロパティを取得できます。これらの式を配置するために二重参照文字列を使用することもできます。6.5 の例を見ると、オブジェクト House のプロパティ ルームには、一連の Room オブジェクトが含まれています。 -> 演算子は、例 6.1 の getLastLogin の呼び出しと同じです。

クラスが継承している場合。別のクラスの場合、サブクラスで宣言されていなくても、親クラスのプロパティとメソッドは有効になります。継承されたプロパティにアクセスしたい場合は、参照するだけで済みます。 :Operator.

を使用して、基本クラス独自のプロパティにアクセスするのと同じように操作します。 クラスルーム
{
public $name;

function __construct($name="unnamed")
{
$this->name = $name;
}
}

class House
{
// 部屋の配列
public $room;

//空の家を作成します
$home = 新しい家;

// いくつかの部屋を追加します
$home->room[] = new Room("bedroom"); ;room[] = new Room("kitchen");
$home->room[] = new Room("bathroom"); // 家の最初の部屋を表示
print($home->room[0]->name); PHP には 2 つの特別な名前空間があります。親名前空間は親クラスを指し、self 名前空間は現在のクラスを指します。例 6.6 は、親クラスのコンストラクターを呼び出すために親名前空間を使用する方法を示しています。Self はコンストラクターでも使用されます。関数内で別のクラスのメソッドを呼び出します。

class Animal file://animal
{
public $blood file://hot-blooded or cold- blooded 属性
public $name;
public function __construct($blood, $name=NULL)
{
$this->blood = $blood;
{
$this->name = $name;
}
}
}

クラス Mammal は Animal file://mammal
{
public $furColor; file://fur color
public $legs;

function __construct($furColor, $legs, $name=NULL)
{
parent::__construct(" Warm", $ name);
$this->furColor = $furColor;
$this->gt;legs = $legs;
}
}

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

self::bark(); ;
}

関数 bark()
{
print("$this->name は 'woof!'");
}
}

$ d = new Dog("ブラック アンド タン", "アンガス")
?> セクション 4 では、オブジェクトのメンバーの関数の呼び出し方法を紹介します。実行時に変数の名前を決定する必要がある場合は、$this->$Property のような式を使用できます。メソッドでは、$obj->$method() を使用できます。

また、-> 演算子を使用して関数の値を返すこともできますが、これは PHP の以前のバージョンでは許可されていません。 , $obj->getObject()->callMethod() のような式を書くことができます。これにより、中間変数の使用が回避され、Factory パターンなどの特定のデザイン パターンの実装にも役立ちます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。