ホームページ > php教程 > php手册 > PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3)

PHP のオブジェクト指向プログラミング: 大規模 PHP プロジェクトの開発方法 (3)

WBOY
リリース: 2016-06-21 09:02:47
オリジナル
951 人が閲覧しました

オーバーロード (オーバーライドとは異なります) は PHP ではサポートされていません。 OOP では、メソッドをオーバーロードして、名前は同じでパラメータの数や型が (言語に応じて) 異なる 2 つ以上のメソッドを実装できます。 PHP は型付けが緩い言語であるため、型によるオーバーロードは機能しませんが、異なる数のパラメーターによるオーバーロードも機能しません。

場合によっては、OOP でコンストラクターをオーバーロードして、さまざまな方法 (さまざまな数の引数を渡す) でオブジェクトを作成できるようにするとよいでしょう。 PHP でこれを行うコツは次のとおりです:

---------------------------------- - ---------------------------------------
< php

class Myclass {
function Myclass() {
$this->$name(); >//$this->name() は一般的に間違っていることに注意してください。ただし、ここで $name は呼び出されるメソッドの名前です。
}
function Myclass1($x) {
code;
}
function Myclass2($x,$y) {
コード
}
}

?>---------- - ------------------------------------------------- - -----------------
このクラスの使用は、クラス内の追加処理を通じてユーザーに透過的です:

$obj1=new Myclass('1' ); //Myclass1 を呼び出します

$obj2=new Myclass('1','2'); //Myclass2 を呼び出します

これは場合によっては非常に便利です。

ポリモーフィズム
ポリモーフィズムは、実行時に渡されたオブジェクト パラメーターに基づいてどのオブジェクト メソッドを呼び出すかを決定できます。たとえば、
Figure クラスがある場合は、draw メソッドが定義されます。そして、circle クラスと Rectangle クラスを派生し、派生クラスでdraw メソッドをオーバーライドし、パラメーター x の使用を予期し、$x->draw() を呼び出すことができる関数を持つこともできます。ポリモーフィズムがある場合、どの描画メソッドが呼び出される
は、関数に渡すオブジェクトのタイプによって異なります。

PHP のようなインタープリター型言語のポリモーフィズム (C++ コンパイラーがこのようなコードを生成すると想像してください。どのメソッドを呼び出す必要がありますか?
は、自分が持っているオブジェクトのタイプがわかりません。まあ、それは問題ではありません)ポイント)とても簡単で自然です。したがって、当然のことながら、PHP はポリモーフィズムをサポートします。

------------------------------------------ ---------- ------------------------------------

function niceDrawing($x) {

//これは Board クラスのメソッドであると仮定します
$x->draw();

$obj=new Circle( 3,187);
$obj2=new Rectangle(4,5);

$board->niceDrawing($obj); Circle は

$board->niceDrawing($obj2);
//Rectangle の描画メソッドは

?> と呼ばれます------ ----------- -------------------------------------- ----------- ------------

PHP によるオブジェクト指向プログラミング
一部の「純粋主義者」は、PHP は真のものではないと言うかもしれません。オブジェクト指向言語です。 PHP はハイブリッド言語です。OOP または従来の手続き型プログラミングを使用できます。ただし、大規模なプロジェクトの場合は、純粋な OOP を使用して PHP でクラスを宣言し、プロジェクト内でオブジェクトとクラスのみを使用する必要がある場合があります。

プロジェクトが大きくなるにつれて、OOP コードは保守しやすく、理解しやすく、再利用しやすいので便利です。これらはソフトウェアエンジニアリングの基礎です。これらの概念を Web ベースのプロジェクトに適用することが、将来の Web サイトの成功の鍵となります。







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