ホームページ >バックエンド開発 >PHPチュートリアル >PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3) (再版)_PHP チュートリアル

PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3) (再版)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:22:37828ブラウズ

PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3) 著者: Luis Argerich 翻訳者: limodou PHP ではオーバーロード (上書きとは異なります) はサポートされていません。 OOP では、メソッドをオーバーロードして、名前は同じでパラメータの数やタイプが異なる 2 つ以上のメソッド (言語に応じて) を実装できます。 PHP は型付けが緩い言語であるため、型によるオーバーロードは機能しませんが、異なる数のパラメーターによるオーバーロードも機能しません。 場合によっては、OOP でコンストラクターをオーバーロードして、さまざまな方法 (さまざまな数の引数を渡す) でオブジェクトを作成できるようにすると良い場合があります。 PHP でこれを行うコツは次のとおりです: -------------------------------------- -------------------------------------- $name(); //$this に注意してください->name() は通常間違っていますが、ここで $name は呼び出されるメソッドの名前です。 } function Myclass1($x) { code; } function Myclass2($x,$y) { code; } ?> -------------------------------------------------- ------------------------ このクラスの使用は、クラス内の追加処理を通じてユーザーに透過的に行われます。 $obj1 =new Myclass(1); //Myclass1 が呼び出されます $obj2=new Myclass(1,2) が呼び出されます; これは場合によっては非常に便利です。 ポリモーフィズム ポリモーフィズムはオブジェクトの機能であり、実行時に渡されたオブジェクト パラメータに基づいてどのオブジェクト メソッドを呼び出すかを決定できます。たとえば、Figure クラスがある場合は、draw メソッドを定義します。そして、Circle クラスと Rectangle クラスを派生させ、派生クラスでdraw メソッドをオーバーライドし、パラメーター x を予期し、$x->draw() を呼び出すことができる関数を持つこともできます。ポリモーフィズムがある場合、どの描画メソッドが呼び出されるかは、関数に渡すオブジェクトのタイプによって異なります。 ポリモーフィズムは、PHP のようなインタープリター型言語では非常に重要です (C++ コンパイラーがこのようなコードを生成すると想像してください。どのメソッドを呼び出す必要がありますか? また、オブジェクトのタイプもわかりません。まあ、それは重要ではありません) 簡単で自然。したがって、当然のことながら、PHP はポリモーフィズムをサポートします。 -------------------------------------------------- ----------------------------- draw(); } $obj=new Circle(3,187); Rectangle (4,5); $board->niceDrawing($obj); //Circle の描画メソッドが呼び出されます $board->niceDrawing($obj2); //Rectangle の描画メソッドが呼び出されます?>- ----- -------------------------------------- ----- ------------------------ PHP によるオブジェクト指向プログラミング 一部の「純粋主義者」は、PHP は真のオブジェクトではないと言うかもしれません。言語指向のプログラム、それは事実です。 PHP はハイブリッド言語です。OOP または従来の手続き型プログラミングを使用できます。ただし、大規模なプロジェクトの場合は、純粋な OOP を使用して PHP でクラスを宣言し、プロジェクト内でオブジェクトとクラスのみを使用する必要がある場合があります。 プロジェクトが大きくなるにつれて、OOP コードは保守しやすく、理解しやすく、再利用しやすいので便利です。これらはソフトウェアエンジニアリングの基礎です。これらの概念を Web ベースのプロジェクトに適用することが、将来の Web サイトの成功の鍵となります。 PHPBuilder.com より転載

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532299.html技術記事 PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3) 著者: Luis Argerich 翻訳者: limodou PHP ではオーバーロード (上書きとは異なります) はサポートされていません。 OOP では、... をオーバーロードできます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。