ホームページ >バックエンド開発 >PHPチュートリアル >注: クラス
拡張クラスでは、基本クラスのメソッドがオーバーライドされるときに、親スコープを使用して基本クラスで定義されたメソッドを呼び出します。静的メンバーは親クラスにのみ所属できます。メンバーがサブクラスと親クラスの両方で宣言されている場合は、parent:; を使用して、サブクラス内の親クラスの変数にアクセスできます。場合によっては、親クラスの静的メンバーと子クラスの静的メンバーが異なる値を保持することがあります。
PHP6 によって提案された static::scope を使用すると、self:: とparent:: を使用する必要がなくなります。関数を実装する最終クラスを指定する場合は、 static:: を使用できます。この修飾子は、コードが実行される前に継承階層の最後のクラスのメンバーを計算します。このプロセスは遅延バインディングと呼ばれます。静的変数はサブクラスでオーバーライドできます。これは、親クラスで宣言された関数から行うこともできます。
静的メソッドと非静的メソッドの重要な違い: 静的メソッドを呼び出すときに、クラスのインスタンスを持つ必要がなくなりました。
Instanceof は、オブジェクトがクラスのインスタンスであるか、クラスのサブクラスであるか、インターフェイスを実装しているかを判断し、対応する操作を実行できます
クラス補助関数boolean class_exists(string class_name)
string get_class(object object) //确定对象的上下文
array get_class_methods(mixed class_name)
array get_class_vars(string class_name) //定义的字段
array get_declared_classes(void) //当前执行脚本中定义的所有类名
array get_object_vars(object object)
string get_parent_class(mixed object)
boolean interface_exists(string interface_name[, boolean autoload])
boolean is_subclass_of(object object, string class_name)
boolean method_exists(object object, string method_name)
______autoload関数、scriptで定義されていないクラスを参照するときに関数が自動的に呼び出されます
newobject= clone oldobject;コード複製操作中に実行される、オブジェクトの複製動作を調整します。
メソッドのオーバーロード、演算子のオーバーロード、多重継承はサポートされていません