ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで OO の静的キーワードとクラス定数の詳細な説明を説明します。

PHP_PHP チュートリアルで OO の静的キーワードとクラス定数の詳細な説明を説明します。

WBOY
WBOYオリジナル
2016-07-21 15:07:57794ブラウズ

何もすることがなかったときは、PHP の OO、アクセス制御修飾子、self、parent、const、static、arrow 演算子などのいくつかのキーワード (本ではそう呼ばれています...つまり、 、"-> ;")、範囲解析演算子 (つまり、二重コロン "::") ですが、これは C# 言語の OO とほぼ同じであり、理解しやすいと思います。 PHP の OO のアイデアを見て明確にします。
------------------------------------------------- ----------------------------------
静的クラスのメンバーとメソッドを宣言して、インスタンスを必要としないようにします。静的メンバー宣言には、クラス オブジェクトのインスタンスを介してアクセスできません (静的メソッドではアクセスできます)。
静的宣言は可視性宣言の後に来る必要があります。 PHP 4 との互換性のため、可視性が宣言されていない場合、メンバーとメソッドはパブリックとして宣言されているかのように扱われます。
静的メソッドは非オブジェクト インスタンスを呼び出すことができるため、静的として宣言されたメソッドでは疑似変数 $this を使用できません。
実際、静的メソッドの呼び出し形式はコンパイル時に決定されます。宣言する必要があるクラス名を使用する場合、アプローチは完全な識別となり、継承ルールは適用されません。このアプローチは、宣言する必要があるクラス名を使用する場合に完全に有効であり、継承の使用に関する規則はありません。
self が宣言されている場合、self は現在属しているクラスによって解釈されます。継承ルールも適用されません。静的プロパティには、矢印演算子 ->. を使用して非静的メソッドからアクセスすることはできません。これにより、E_STRICT レベルの警告が生成されます。

コードをコピーします コードは次のとおりです:

class Foo
{ public static $my_static='foo';
public function staticValue(){ return self::$my_static; }
}
class Bar extends Foo
{ public function fooStatic(){ returnparent::$my_static; }
}
print Foo::$my_static."/n";
$foo = new Foo();
print $foo-> ;staticValue()."/n";
print $foo->my_static."/n";// 未定義の "プロパティ" my_static
// $foo::my_static は不可能です
print Bar: :$my_static. "/n";
$bar = new Bar();
print $bar->fooStatic()."/n";
?> コードをコピーします
コードは次のとおりです。
//静的メソッドの例 (静的メソッドの例) class Foo{ public static function aStaticMethod() { }
}
Foo::aStaticMethod();
?>


は各baseで使用可能 クラス内に定数を定義すると定数となります。定数は、$ 記号を使用して宣言または使用しないという点で通常の変数とは異なります。静的メンバーと同様に、オブジェクトのインスタンスを介して定数値にアクセスすることはできません (代わりに $object::constant を使用してください)。定数値は、変数、クラスのメンバー、数式などではなく、定数式である必要があります。関数 呼び出しの結果。



コードをコピーします

コードは次のとおりです:
class MyClass{ const constant = '定数値'; function showConstant() { echo self::constant."/n "; }
}
echo MyClass::constant."/n";
$class = new MyClass();
$class->showConstant();// echo $class::constant; は許可されていません
? >






http://www.bkjia.com/PHPjc/327503.html
www.bkjia.com

tru​​e

技術記事何もすることがなかったときは、アクセス制御修飾子、self、parent、const、static などのキーワード、アロー演算子 (本ではこれとも呼ばれています...) など、PHP の OO に関する情報を調べました。は、"-") 、...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。