ホームページ >バックエンド開発 >PHPチュートリアル >PHP オブジェクトの概念の概要 _PHP チュートリアル

PHP オブジェクトの概念の概要 _PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:18:18856ブラウズ

たとえば、従業員管理アプリケーションには EmPloyee クラスが含まれる場合があります。このクラスを使用して、Gonn や Sally などの特定のインスタンスを作成および維持できます。

事前定義されたクラスに基づいてオブジェクトを作成することは、多くの場合、クラスのインスタンス化と呼ばれます。

次のように new キーワードを使用してオブジェクトが作成されます:

コードをコピーします コードは次のとおりです:
$employee = new Employee();


オブジェクトを作成した後、新しいインスタンス化されたオブジェクトにはクラスがあり、すべてのプロパティと動作は で定義されています。

オブジェクトをインスタンス化する方法
オブジェクト指向プログラムの単位はオブジェクトですが、オブジェクトはクラスによってインスタンス化されます。クラスが宣言されたので、次のステップはオブジェクトをインスタンス化することです。クラスを定義した後、new キーワードを使用してオブジェクトを生成します。
コードをコピーします コードは次のとおりです:

class Person
{
//以下は person のメンバー属性です
var $name // person の名前
var $sex; ; //人物の性別
var $ age; //人物の年齢

//以下は人物のメンバーメソッドです
functionsay() //この人物が話すことができるメソッド
{
echo "この人は話しています"
}

function run() / /この人はどのように歩くことができますか
{
echo "この人は歩いています"
}
}

$p1=new person(); $p2=new Person();
$p3=new Person();
$p1=new Person();
このコードは、クラスを通じてインスタンス オブジェクトを生成するプロセスです。同様に、$p2 と $p3 もインスタンス化するオブジェクトの名前です。クラスは複数のオブジェクトをインスタンス化できます。各オブジェクトは独立しています。上記のコードは 3 人をインスタンス化することに相当し、各人の間には関連性がありません。 、それは、彼らがすべて人間であり、誰もが独自の名前、性別、年齢属性を持ち、話し方や歩き方を持っていることを意味するだけであり、それらがクラスに反映されるメンバー属性とメンバーメソッドである限り、インスタンス化されます。オブジェクトにはこれらの属性とメソッドが含まれます。

PHP のオブジェクト (整数型や浮動小数点型など) もデータ クラスです。これらは、操作中に使用するためにメモリにロードする必要があります。反映されましたか?論理的に言えば、メモリはスタック領域セグメント、ヒープ領域セグメント、コードセグメント、初期化静的セグメントの 4 つのセグメントに大別され、プログラム内の異なる宣言は異なるメモリ セグメントに配置され、スタック領域セグメントは同じ領域を占有します。整数 1、10、100、1000、10000、100000 など、長さが短くスペースを占有するデータ型は、メモリ内で同じ長さのスペースを占有し、すべて 64 ビットと 4 バイトです。 それでは、可変長で多くのスペースを占めるデータ型のデータは、そのメモリ セグメントのどこに配置されるべきでしょうか?このようなデータはヒープ メモリに配置されます。スタック メモリには直接アクセスできますが、ヒープ メモリには直接アクセスできません。このオブジェクトの場合、それは大きなデータ型であり、可変長の領域を占有するため、オブジェクトはヒープに配置されますが、オブジェクト名はスタックに配置されるため、オブジェクトを介して使用できます。名前。 。

$p1=new Person(); このコードの場合、$p1 はスタック メモリ内のオブジェクト名で、new Person() はヒープ メモリ内の実際のオブジェクトです。

等号の右側は実際のオブジェクト インスタンス、つまりヒープ メモリ内のエンティティです。ここでは new Person() が 3 回あるため、ヒープ内に 3 つのスペースが開かれ、PHP 内でそれぞれのオブジェクトが独立して独自のスペースを使用します。 a new このキーワードが出現すると、オブジェクトがインスタンス化され、ヒープ内に独自のスペースが作成されます。

ヒープ内の各インスタンス オブジェクトは属性を保存します。たとえば、ヒープ内のすべてのインスタンス オブジェクトには名前、性別、年齢が保存されます。各属性にはアドレスがあります。 $p1=new Person(); 等号 $p1 の右側は参照変数です。オブジェクトの最初のアドレスは、代入演算子 "=" によって参照変数 "$p1" に代入されます。オブジェクトの最初のアドレス $p1 は、ヒープ内のオブジェクトを指すポインターに相当するため、通常は参照変数 $p1 を介してオブジェクトを操作することもできます。オブジェクトはオブジェクトを参照します。


http://www.bkjia.com/PHPjc/325553.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/325553.html技術記事たとえば、従業員管理アプリケーションには EmPloyee クラスが含まれる場合があります。このクラスを使用して、Gonn や Sally などの特定のインスタンスを作成および維持できます。 事前定義されたクラスに基づいてオブジェクトを作成することは、よく呼ばれます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。