ホームページ  >  記事  >  バックエンド開発  >  PHP の静的プロパティとメソッドのメモリ位置分析オブジェクト指向_PHP チュートリアル

PHP の静的プロパティとメソッドのメモリ位置分析オブジェクト指向_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:07:35981ブラウズ

PHPオブジェクト指向における静的プロパティとメソッドのメモリ位置分析

この記事では主にPHPオブジェクト指向における静的プロパティとメソッドのメモリ位置を紹介し、メモリ位置の例を通して静的プロパティの原理と使用法を分析します。ヒント、困っている友達は参考にしてください

この記事の例では、PHP オブジェクト指向で静的プロパティとメソッドのメモリ位置を分析します。皆さんの参考に共有してください。詳細は以下の通りです

static 静的プロパティのメモリの場所 -> オブジェクトではなくクラス。それを証明するためにテストをしてみましょう

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

header("content-type:text/html;charset=utf-8");

クラス人間{

static public $name = "リトルシスター";

公開 $height;

パブリック関数 Tell(){

}

}

エコー人間:$name;

//オブジェクトに依存せずに直接アクセスできます。静的プロパティのメモリの場所はオブジェクトではなくクラス内にあるためです。

$p1 = 新しい人間();

$p2 = 新しい人間();

print_r($p1);

echo $p1::$name = "夫人";

//$p1 オブジェクトの static 属性の値を変更すると、それに応じて $p2 オブジェクトも変更されます。

エコー $p2::$name;

?>

出力結果は次のように表示されます:

1. echo Human:$name: クラスが宣言された後、オブジェクトに依存しない静的属性が存在します。したがって、静的属性は 1 つだけです (つまり、メモリ内に格納場所はオブジェクト内にありません。オブジェクト内にある場合、オブジェクトをインスタンス化すると、高さ属性などの対応する静的場所が設定されます)。

2. print_r($p1): 印刷結果には高さ属性のみが含まれますが、名前はありません。

3. 静的属性の値が変更されると、すべてのオブジェクトの属性値が影響を受けます。

メソッドは、静的であろうと通常であろうと、クラスのメモリ空間に存在します。証明も非常に簡単で、新しいオブジェクトと print_r (オブジェクト) を作成するだけです。

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

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

tru​​ehttp://www.bkjia.com/PHPjc/955273.html技術記事 PHPオブジェクト指向における静的プロパティとメソッドのメモリ位置解析 この記事では主にPHPオブジェクト指向における静的プロパティとメソッドのメモリ位置をメモリ位置インスタンスに分けて紹介しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。