php の静的メソッドと非静的メソッドの使用法の違いの簡単な分析、php_PHP チュートリアルの簡単な分析

WBOY
リリース: 2016-07-12 08:52:13
オリジナル
729 人が閲覧しました

php の静的メソッドと非静的メソッドの違いの簡単な分析、php の簡単な分析

PHP プログラミングでは、static キーワードは、プロパティまたはメソッドが特定のクラスに関連しているのではなく、クラスに関連していることを宣言します。クラスのインスタンス 関連するため、このタイプのプロパティまたはメソッドは「クラス プロパティ」または「クラス メソッド」とも呼ばれます

アクセス制御権限が許可されている場合は、このクラスのオブジェクトを作成せずに、クラス名と 2 つのコロン「::」を使用して直接呼び出すことができます。

static キーワードは変数とメソッドを変更するために使用できます。

インスタンス化せずに、クラス内の静的属性と静的メソッドに直接アクセスできます。

静的プロパティとメソッドは静的プロパティとメソッドにのみアクセスでき、非静的プロパティとメソッドにはクラスからアクセスできません。静的プロパティと静的メソッドが作成されるとき、呼び出すことができるこのクラスのインスタンスがまだ存在しない可能性があるためです。

静的属性はメモリ内に 1 つのコピーのみを持ち、すべてのインスタンスによって共有されます。

現在のクラスの静的メンバーにアクセスするには、self:: キーワードを使用します。

クラスのすべてのインスタンスは、クラス内の静的プロパティを共有します。

つまり、メモリ内に複数のインスタンスがある場合でも、静的属性のコピーは 1 つだけ存在します。

例、カウンター $count 属性を設定し、プライベートおよび静的な変更を設定します。

このように、外部の世界は $count 属性に直接アクセスできません。プログラムの実行結果には、複数のインスタンスが同じ静的 $count 属性を使用していることも示されています。

リーリー

2 番目に、静的属性が直接呼び出されます

静的プロパティはインスタンス化せずに直接使用でき、クラスが作成される前に直接使用できます。

使用方法:

クラス名::静的プロパティ名

リーリー

クラスは作成されず、静的プロパティを直接使用できます。静的プロパティはいつメモリ内に作成されますか?

phpに関連する情報がありませんでした。

Java の概念を引用して説明することも普遍的である必要があります。静的プロパティと静的メソッドは、クラスが呼び出されたときに作成されます。

3、静的メソッド

静的メソッドは、クラスをインスタンス化せずに直接使用できます。

使用するメソッドはクラス名::静的メソッド名です

引き続きこの数学クラスを作成して数学的計算を実行します。

最大値を計算する方法を設計します。数学的な演算なので、このクラスをインスタンス化する必要はなく、このメソッドを引き継いで使用できるとさらに便利です。

これは、静的メソッドを説明するためだけに設計されたクラスです。 PHP には、数値を比較するための max() 関数が用意されています。

リーリー

静的メソッドの呼び出し方法

最初の例では、静的メソッドが他の静的メソッドを呼び出すときに、self:: を使用します。
リーリー

静的メソッドは静的プロパティを呼び出します

self:: を使用して、このクラスの静的プロパティを呼び出します。


リーリー

静的メソッドは非静的プロパティを呼び出すことはできません。 self:: を使用して非静的プロパティを呼び出すことはできません。


リーリー

$this を使用して非静的プロパティの値を取得することもできません。

静的メソッドが非静的メソッドを呼び出す

PHP5 では、静的メソッドで $this 識別子を使用して非静的メソッドを呼び出すことはできません。

リーリー

クラス内の非静的メソッドが self:: によって呼び出される場合、システムはこのメソッドを自動的に静的メソッドに変換します。


リーリー

PHP の静的メソッドと非静的メソッドの使用法の違いに関する上記の簡単な分析は、編集者が共有したすべての内容です。参考にしていただければ幸いです。また、Bangkejia をさらにサポートしていただければ幸いです。

http://www.bkjia.com/PHPjc/1127859.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1127859.html技術記事 PHP の静的メソッドと非静的メソッドの使用法の簡単な分析 PHP プログラミングでは、static キーワードは、属性またはメソッドがその特定の実装ではなくクラスに関連していることを宣言します。クラス...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート