ホームページ  >  記事  >  バックエンド開発  >  PHPのコンストラクタとデストラクタの詳しい説明

PHPのコンストラクタとデストラクタの詳しい説明

怪我咯
怪我咯オリジナル
2017-07-12 10:33:372622ブラウズ

PHPDestructorConstructor の逆で、オブジェクトをメモリから破棄するために呼び出され、オブジェクトのプロパティによって占有されているメモリを解放し、オブジェクト関連のリソースを破棄するのに役立ちます。

PHP コンストラクターは、オブジェクトの作成後に自動的に呼び出される最初のメソッドであり、デストラクターは、オブジェクトが解放される前に自動的に呼び出される最後のメソッドです。この記事では、PHP のコンストラクターとデストラクターについて紹介します。

phpconstructor


Constructor は特別なメソッドです。これは主に、オブジェクトの作成時にオブジェクトを初期化する、つまりオブジェクトのメンバー変数に初期値を割り当てるために使用され、オブジェクトを作成するステートメント内で常に new 演算子と一緒に使用されます。特殊クラスは複数のコンストラクターを持つことができ、パラメーターまたはパラメーターの型の数、つまりコンストラクターのオーバーロードに基づいて区別できます。

1. オブジェクト作成後に「最初に」「自動的に呼び出される」メソッドです
2. コンストラクターメソッドの定義、メソッド名は固定です

php4: クラスと同じですname メソッドは構築メソッドです

php5 の場合: 構築メソッドは
マジックメソッド construct() の使用を選択します この名前を使用して、すべてのクラスでコンストラクター メソッドを宣言します

利点: クラス名を変更すると、コンストラクター メソッドは変更する必要はありません


マジックメソッド: クラス内に特定のマジックメソッドが記述されている場合、そのメソッドに対応する関数が追加されます。メソッド名はすべて固定であり (すべてシステムによって提供されます)、メソッド名はありません。各マジックメソッドは、特定の関数を完了するために異なるタイミングで自動的に呼び出されるメソッドです

異なるマジックメソッドは異なる呼び出しタイミングを持ちます
construct();で始まるメソッドです。 );...

関数: メンバーのプロパティを初期化します。

php デストラクター

デストラクター (デストラクター) コンストラクターとは逆に、オブジェクトがそのライフサイクル

を終了するとき (たとえば、オブジェクトがが呼び出された場合)、システムは自動的にデストラクターを実行します。デストラクターは、「クリーンアップ」作業を行うためによく使用されます (たとえば、オブジェクトを作成する場合、new を使用してメモリー空間を開きます。delete は自動的にデストラクターを呼び出し、メモリーを解放します)。

1. オブジェクトが解放される前に最後に「自動的に」呼び出されるメソッドC++ は手動で解放しますが、ガベージ コレクター (Java php) を使用します機能: いくつかのリソースを閉じ、クリーンアップ作業を実行します

destruct() ;

php コンストラクターとデストラクターの例

class Person{ 
var $name; 
var $age; 
var $sex; 
//php4中的构造方法 
/*function Person() 
{ 
//每声明一个对象都会调用 
echo "1111111111111111"; 
}*/ 
//php5中的构造方法 
function construct($name,$age,$sex){ 
$this->name=$name; 
$this->age=$age; 
$this->sex=$sex; 
} 
function say(){ 
//$this->name;//对象中成员的访问使用$this 
echo "我的名字:{$this->name},我的年龄:{$this->age}<br>" 
} 
function run(){ 
} 
function eat(){ 
} 
//析构方法 
function destruct(){ 
} 
} 
$p1=new Person("zhangsan",25,"男"); 
$p2=new Person; 
$p3=new Person;

以上がPHPのコンストラクタとデストラクタの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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