-------------------------------------------------- ------------------
| この記事は Haohappy 向けです <<コア PHP プログラミング>>
= クラスとオブジェクトの章
| = 翻訳は個人的な経験に基づいています
= 不必要なトラブルを避けるため、転載はご遠慮ください。
= 批判や修正は歓迎です。PHP 全員で進歩していきたいと考えています。
| = PHP5 リサーチ センター: http://blog.csdn.net/haohappy2004
------------------------ ---------- --------------------------------------
*/
セクション 1 - オブジェクト指向プログラミング
オブジェクト指向プログラミングは、大規模なソフトウェア プロジェクト、特に複数の人々がソース コードを共同作業するプロジェクトにソリューションを提供するように設計されています。 10,000 行以上に増加すると、すべての変更が望ましくない副作用につながる可能性があります。これは、第一次世界大戦前のヨーロッパのように、モジュールが秘密同盟を形成したときに発生します。
//haohappy 注: 比喩 これは、モジュール間の相関関係を意味します。
1 つのモジュールを変更すると、他のモジュールも変更されることになります。クレジット カード処理モジュールがデータベース接続を共有できるようにするモジュールがあると想像してください。もちろん、別のデータベース接続の費用を節約できるので、開始点は適切です。ただし、場合によっては、ログイン処理モジュールが変数の 1 つを変更し、それによって 2 つの変数間の合意が切断される可能性があります。モジュールのエラーは、請求書を処理するモジュールのエラーにつながるでしょう。
したがって、ほとんどのプログラマーの判断は少し劇的だと思います。結合とカプセル化に感謝してください。結合は 2 つのモジュール間の依存度を示す尺度であり、既存のプロジェクトからモジュールを取得して新しいプロジェクトで使用できるようにする必要があります。
また、他のモジュールへの影響を心配することなく、特定のモジュール内で大規模な変更を加えたいと考えています。カプセル化の原理は、モジュールが比較的独立していると見なされ、モジュール間のデータ通信が実行されます。
カプセル化は、PHP や多くの手続き型言語で使用できる原則です。オブジェクト指向プログラミングは、プログラマがカプセル化の原則に違反しないようにするための方法であり、モジュールを使用して仮想的な WEB を構築することを妨げるものはありません。これらのオブジェクトにはメソッドと属性があります。抽象的な観点から見ると、メソッドはオブジェクトのアクションであり、プログラミングの観点からは、メソッドは関数であり、属性は変数です。理想的なオブジェクト指向システムでは、システムはオブジェクトと、メソッドを介したオブジェクト間の関係で構成されます。セットをベイクする場合、クラスはオブジェクトのプロパティを定義します。 Cookie オブジェクトの場合、クラスは呼び出されるメンバーになります。
各言語が提供するメンバーです。 PHP はオブジェクトにアクセスするためのさまざまな方法を備えており、C から概念を借用し、識別子の下に関数と変数を含めるためのデータ型を提供します。 PHP が最初に設計されたとき、そして PHP3 が開発されたときでさえ、PHP はコード 100,000 行を超える大規模プロジェクトを開発する機能を提供することを目的としていませんでした。 PHP と Zend Engine の開発により、大規模なプロジェクトを開発できるようになりましたが、プロジェクトがどれほど大きくても、クラス内にスクリプトを記述することでコードを再利用できます。これは、特に自分のコードを他の人と共有したい場合には良いアイデアです。
オブジェクトの考え方は、コンピューター サイエンスの中で最も刺激的な概念の 1 つです。最初はそれをマスターするのは難しいですが、一度マスターすれば、心で考えることが非常に自然に感じられるようになるでしょう。