ホームページ  >  記事  >  バックエンド開発  >  PHPの動的メソッドと静的メソッドの違い

PHPの動的メソッドと静的メソッドの違い

(*-*)浩
(*-*)浩オリジナル
2019-10-09 09:33:533447ブラウズ

PHPの動的メソッドと静的メソッドの違い

#静的メソッドはアプリケーション全体でメモリに保存されるため、高速ですがメモリを消費します。 (推奨学習: PHP ビデオ チュートリアル)

  class A
    {
        public static string b()
        {
            return "Hello";
        }
    }

使用法:

A.b();      //调用方便

動的メソッドは最初にクラス インスタンスを宣言します。メソッドのみです。クラス内で呼び出すことができます。

    class A
    {
        public string b()
        {
            return "Hello";
        }
    }

使用法:

  A  a  =  new  a();      
  a.b();

通常、頻繁に使用されるメソッドには静的メソッドが使用され、めったに使用されないメソッドには動的メソッドが使用されます。静的は高速でメモリを消費します。動的速度は比較的遅いですが、呼び出しが完了するとクラスがすぐに解放されるため、メモリを節約でき、必要に応じて動的メソッドと静的メソッドのどちらを使用するかを選択できます。

静的メソッドの主な問題はデータの同期です。静的メソッドのクラスにプライベート変数を保存しない場合は、問題はありません。操作対象のすべてのデータをパラメータの形式でメソッドに渡すのが最善です。

静的メソッドはクラス メソッドであり、呼び出し時にクラス インスタンスを作成する必要はありません。

静的メソッドは、継承されるのではなく、サブクラスに静的にバインドされます。

静的メソッドはクラスの状態を変更しますが、オブジェクトは各オブジェクトの状態を変更します。これは両者の重要な違いでもあります

クラスのインスタンス化呼び出しは、クラスのライフサイクルに存在します。クラスが消滅すると、対応するインスタンスも消滅し、対応するメソッドも消滅します。それ以外の場合は、静的クラスの名前空間を参照している限り、システムを終了するまで存在します。

以上がPHPの動的メソッドと静的メソッドの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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