ホームページ >バックエンド開発 >PHPチュートリアル >PHP オブジェクト指向におけるオーバーロードとリライトの詳細な紹介

PHP オブジェクト指向におけるオーバーロードとリライトの詳細な紹介

黄舟
黄舟オリジナル
2017-03-07 09:39:291434ブラウズ

この記事では主にPHPオブジェクト指向オブジェクトにおけるオーバーロードと書き換えについて紹介します。非常に優れた参照値を持っています。オーバーライドは、クラス内のポリモーフィズムの一種です。オーバーロードされたメソッドは戻り値の型を変更できます。つまり、オーバーロードの戻り値の型は同じでも異なっていても構いません。

オーバーロード

a. メソッドのオーバーロードは、クラスがさまざまな種類のデータを統一された方法で処理するための手段です。パラメータの数や種類が異なる、同じ名前の関数が複数同時に存在します。オーバーロードは、クラス内のポリモーフィズムの現れで​​す。

b. Java におけるメソッドのオーバーロードとは、名前は同じですが、パラメーターと定義が異なる複数のメソッドを作成できることを意味します。メソッドを呼び出すときは、メソッドに渡されるパラメータの数と型に基づいて、どのメソッドを使用するかを決定します。これがポリモーフィズムです。

c. オーバーロードする場合、メソッド名は同じである必要がありますが、パラメーターの型と数値は異なり、戻り値の型は同じであっても異なっていても構いません。戻り値の型は、オーバーロードされた関数を区別するための基準として使用できません。

2. オーバーライド

a. 親クラスとサブクラス間のポリモーフィズム。親クラスの関数を再定義します。サブクラスで定義されたメソッドがその親クラスと同じ名前とパラメータを持つ場合、そのメソッドはオーバーライドされていると言います。 Java では、サブクラスは、同じメソッドを書き直すことなく、親クラスからメソッドを継承できます。ただし、サブクラスが親クラスのメソッドを変更せずに継承するのではなく、メソッドの書き換えが必要となる特定の変更を加えたい場合があります。メソッドのオーバーライドは、メソッドの上書きとも呼ばれます。

b. サブクラスのメソッドが親クラスのメソッドと同じメソッド名、戻り値の型、パラメーター リストを持つ場合、新しいメソッドは元のメソッドを上書きします。 **親クラスの元のメソッドが必要な場合は、現在のクラスの親クラスを参照する super キーワードを使用できます**。

c. サブクラス関数のアクセス変更権限は、親クラスのアクセス変更権限よりも低くすることはできません。

親クラスのメンバー メソッドの名前、戻り値の型、パラメーターの型、および数がまったく同じであるが、内部コードが同じである場合。 Java では、この種の書き換え方法はメンバー メソッド リファクタリングと呼ばれます。サブクラスは、親クラス メソッドの権限を再調整したり (ケチから寛大に)、親クラスの機能を拡張または再調整したりできますが、これは多くの場合そのまま残ります。サブクラスは青色の状態であり、青色よりも優れています。開発プロセス中、プログラム開発者はサブクラスのこれらの機能を有効に活用する必要があります。しかし、別の観点から見ると、サブクラスの権限に一定の制限を課すことも必要です。必要に応じて、親クラスの特定のメソッドに対するアクセス許可を制御して、サブクラスによる悪用を防ぐ必要があります。

上記は、PHP オブジェクトのオーバーロードと書き換えの詳細な紹介です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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