ホームページ > バックエンド開発 > PHPチュートリアル > 初心者が授業について質問する

初心者が授業について質問する

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-09-15 11:31:00
オリジナル
1204 人が閲覧しました

クラス内でメソッドを呼び出す次の 2 つの方法の違いは何ですか?

1

リーリー

2

リーリー

1 つは最初にインスタンス化してから呼び出す方法、もう 1 つは静的メソッドを直接宣言して直接呼び出す方法です。これら 2 つの違いは何ですか?どのような状況で使用する必要がありますか?

返信内容:

クラス内でメソッドを呼び出す次の 2 つの方法の違いは何ですか?

1

リーリー

2

リーリー

1 つは最初にインスタンス化してから呼び出す方法、もう 1 つは静的メソッドを直接宣言して直接呼び出す方法です。これら 2 つの違いは何ですか?どのような状況で使用する必要がありますか?

一般的な理解は次のとおりです:

最初のメソッドは、$this->a; self::$a; static::$a; $this->a(); self::a(); static::a() および他のメソッドを使用して現在のクラスの関連データとメソッドを取得するために使用できます

2 番目のメソッドは、self::$a; static::$a; self::a(); static::a() および現在のクラスの関連する静的データと静的メソッドを取得する他のメソッドのみを使用できます

static現在のオブジェクトがインスタンス化されていないため、これを内部で使用することはできません。

オブジェクトに a) ユーティリティ メソッドがあり、b) オブジェクトのインスタンスに依存しない場合は、静的メソッドが最適です。

しかし、実際の開発では、a) の比重が高くなります。つまり、実際に広く使用されているツールメソッドの場合、可能であれば、開発者はさまざまなメソッドを使用してそれを静的にすることができます。 リーリー

呼び出し時に数行のコードを節約するためです。良いか悪いかは関係なく、状況次第です。

さらに、静的メソッドもシングルトン モード オブジェクトでよく見られます。根本的な原因は上記と同じであるため、詳細は説明しません。

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