ホームページ >バックエンド開発 >PHPの問題 >phpの静的とはどういう意味ですか?

phpの静的とはどういう意味ですか?

藏色散人
藏色散人オリジナル
2021-06-10 09:08:252846ブラウズ

php static は PHP のキーワードです。static キーワードを使用すると、メンバーが静的メンバーであることを意味します。クラスのロード プロセス中に保持されるコピーは 1 つだけです。静的変数に対するすべての操作はすべてのオブジェクトで機能します。 。

phpの静的とはどういう意味ですか?

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php static とはどういう意味ですか? ?

PHP における static キーワードの役割と違い

PHP の static は、Java などの他のオブジェクト指向言語とは異なります。オブジェクトのみ 静的メソッドにはアクセスできますが、静的メンバーにはアクセスできません。

静的キーワードを使用することは、メンバーが静的メンバーであることを意味します。クラスの読み込みプロセス中に保持されるコピーは 1 つだけです。静的変数に対するすべての操作は、すべてのオブジェクトに影響します。

In PHP の静的変数はインスタンス化されたオブジェクトから呼び出すことはできません。静的メソッドはオブジェクトから呼び出すことができます

// ----类内部----
// 调用普通成员
this->name;
// 调用静态成员
self::name_static;
// ----类外部----
// 调用普通成员需要实例化使用
Car c = new Car();
c->name;
// 调用静态方法
c::fun()  <==>  Car::fun()
// 调用静态变量
Car::name;

コードの一部を分析する:

class Car
{
    private $name;
    private static $type = "Car";
    function __construct($name)
    {
        $this->name = $name;
        echo "Car " . $name . " has created!\n";
    }
    public static function getType()
    {
        echo self::$type . "\n";
    }
    public function getName()
    {
        echo "Car name is " . $this->name . "\n";
    }
    function __destruct()
    {
        echo "Car " . $this->name . " has destory!";
    }
}

エンティティ クラスはコンストラクター、静的関数、および通常の関数、デストラクター、通常のメンバー変数、および静的メンバー変数。

テストに PHPUnit を使用する

class  test extends PHPUnit_Framework_TestCase
{
    public function test_car()
    {
        $car = new Car("BMW");
        $car::getType();
        $car->getName();
    }
}

出力を取得できます:

Car BMW has created!
Car
Car name is BMW
Car BMW has destory!

[推奨学習: PHP ビデオ チュートリアル]

以上がphpの静的とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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