ホームページ > バックエンド開発 > PHPチュートリアル > PHP オブジェクト指向学習メモ 構築、破壊、オブジェクトの割り当て、複製?

PHP オブジェクト指向学習メモ 構築、破壊、オブジェクトの割り当て、複製?

WBOY
リリース: 2016-06-23 13:51:31
オリジナル
784 人が閲覧しました

PHP オブジェクト指向の学習ノート? 構築、破壊、オブジェクトの割り当て、複製

クラスの生徒

{

スルー スルー スルー スルー スルー スルー スルー スルー スルー スルー スルー'' s '' '' '' '' '' '' '' stol — ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ - パスecho $this->stu_name; // $this 访问该对象的成人员变量

}

}

$stu = 新しい Student; // オブジェクトを作成します

$stu->stu_id = '0607001';

$stu->stu_name = 'シャオ・リー';

$stu->sayName();

注:

クラスの学生

{public $ stu_id; // public $ stu_name; $stu_name');

}

}

$stu = 新しい学生

を作成します

$stu->stu_id = '0607001';

$stu->stu_name = 'Xiao Li';

$stu->sayName();

注: クラスで定義された属性は、クラスで定義されたグローバル変数と同等ではないため、クラスで直接アクセスすることはできません。メソッド内の属性変数の形式。

1. 構築と破棄:

PHP の opp メカニズムは、new が完了すると __construct() というメソッドの呼び出しを試みます。

このメソッドに初期化コードを記述すると自動初期化が完了します。

: :

クラス学生

{

Public $ Stu_id;

Public $ Stu_name;

{

$ This ->stu_id= $id; ;

注 :コンストラクターにパラメータがない場合、$stu = new Student と $stu = new Student() は両方とも正しいです。

コンストラクター メソッドの互換性の問題:

php5 では、コンストラクター メソッドの名前は __construct() です。php5 より前では、コンストラクター メソッドの名前はクラスと同じでした。互換性を確保するために、クラスと同じ名前のコンストラクターもサポートされます。

__construct() とクラス名のコンストラクターが同時に出現する場合:

class Student

{

public $stu_id;

public $stu_name

public Function __ConStruct ()

{

}}}

{{

{{{{

} } {

$stu = 新入生;

出力:construct run …

結論: 2 つの構築メソッドが同時に現れた場合は、__construct() を呼び出します

破棄:

オブジェクトが破棄されると、メソッドも自動的に破棄されます実行されました。

開発方法は次のとおりです。__destruct();オブジェクトそのもの!

オブジェクトはどのような状況で破棄されますか:

1. スクリプト サイクルが終了すると、オブジェクトは自動的に破棄されます。

2. オブジェクトを保持している変数を破棄します。

$stu = new Student;

unset($stu);

出力: デストラクター メソッド呼び出し

3. オブジェクトを保持する変数には他のデータが割り当てられます。

$stu = new Student;

$stu = “new Value”; // 他のデータを割り当てると、Student オブジェクトは破棄されます。

オブジェクト間の代入

オブジェクトはアンパサンドなしの参照受け渡しをサポートしているため、 = 代入を通じて新しいオブジェクトを取得することはできません。 public __construct($id,$name)

stu_id= $id; tu2 = $stu1;

echo $stu1->stu_name;

echo $stu2->stu_name;

$stu1->stu_name = “ソンヤン”;

echo $stu1->stu_name;

echo $stu2-&g t ;stu_name;

出力: ソングソングソンヤンソンヤン

クローン

既存のオブジェクトを使用して、同じ新しいオブジェクトを取得します。

キーワード clone を使用する必要があります

新しいオブジェクト = 既存のオブジェクトのクローン

class Student

{

public $stu_id;

stu_name;

public function __construct ( $id,$name)

}

$stu1 = 新しい生徒( "100","song");

$stu2 = クローン $stu1;

echo >stu_name;

エコー$stu2->stu_name;

$stu1->stu_name = "松陽" ;

echo $stu1->stu_name;

echo $stu2->stu_name;

出力: 歌 歌 松陽 歌

一般的な操作では、オブジェクトのクローンを作成するときに、いくつかの特別な属性が変更される必要があります。これは、何らかの特別な処理が必要であることを意味します。

クローン作成時に自動的に呼び出されるメソッド __clone() を使用します。

クローン化されたオブジェクトを自動的に使用して __clone() メソッドを呼び出します。これは、メソッド内の $this が新しいオブジェクトを表すことを意味します。

: : : : :

クラスの生徒

{

public $ stu_id

public $ stu_name;

public function __construct($id,$name)

{

$this->stu_id= $id;

$this->stu_name= $name;

}

パブリック関数 __clone()

{

$this->stu_id= “0607002”;

}

}

$stu1 = 新入生(“1000”,”ジョーカー”);

$stu2 = クローン $stu1;

echo $stu1->stu_id;

echo $stu2->stu_id;

输出:1000 0607002

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート