ホームページ > バックエンド開発 > PHPチュートリアル > PHP の新しい静的と新しい自己

PHP の新しい静的と新しい自己

藏色散人
リリース: 2023-04-07 13:10:02
転載
2591 人が閲覧しました

以下にクリを与えてみましょう:

class Father {
    public static function getSelf() {
        return new self();
    }
    public static function getStatic() {
        return new static();
    }
}
class Son extends Father {}
echo get_class(Son::getSelf()); // Father
echo get_class(Son::getStatic()); // Son
echo get_class(Father::getSelf()); // Father
echo get_class(Father::getStatic()); // Father
ログイン後にコピー

new self

ここで、この行 get_class(Son::getStatic()); が Son.class, を返すことに注意してください。

self は、次の例のように、new self のキーワード new が存在するクラスを返します。

public static function getSelf() {
    return new self(); // new 关键字在 Father 这里
}
ログイン後にコピー

は常に Father を返します。

new static

static 上記に基づくと、少し賢くなっています。static は、get_class( を実行する Son など) new static() を実行するクラスを返します。 Son: :getStatic()) は Son、Father を返します。get_class(Father::getStatic()) を実行すると Father

が返されます。継承がない場合、新しい self と新しい static は同じものを返します。結果。

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

関連ラベル:
php
ソース:dmzfa
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート