ホームページ >バックエンド開発 >PHPチュートリアル >セクション 1 - オブジェクト指向プログラミング_PHP チュートリアル

セクション 1 - オブジェクト指向プログラミング_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:01:10842ブラウズ

+------------------------------------------------ --------------------+
| = この記事は <<コア PHP プログラミング>> の章に関する Haohappy のメモです
|翻訳 + 個人的な経験
| = 不必要なトラブルを避けるため、転載はご遠慮ください
| = 批判や修正を歓迎し、すべての PHP 愛好家と一緒に進歩することを願っています
| = /blog.csdn.net/haohappy2004
+--------------------------------------- - ----------------------------------+
*/

セクション 1 -- オブジェクト指向プログラミング

オブジェクト指向プログラミングは、大規模なソフトウェア プロジェクト、特に複数の人々が関与するプロジェクトにソリューションを提供するように設計されています。ソース コードが 10,000 行以上になると、モジュールを変更するたびに望ましくない副作用が発生する可能性があります。これは、秘密同盟が形成された場合と同様です。第一次世界大戦前のヨーロッパ。

//haohappy 注: モジュール間の相関性が高すぎ、相互依存性が強すぎることを意味します。あるモジュールを変更すると、他のモジュールも変更に従わなければなりません。

ログインを処理するモジュールを使用すると、クレジット カード処理モジュールがそのデータベース接続を共有できるようになります。もちろん、別のデータベース接続の費用を節約できるため、開始点は適切です。ただし、ログイン処理モジュールが変数の 1 つの名前を変更する場合があります。両者間の合意が破棄され、クレジット カード モジュールで処理エラーが発生し、それがやがて請求書処理モジュールでエラーを引き起こす可能性があります。つまり、システム内のすべての無関係なモジュールがこのエラーの影響を受ける可能性があります。やや劇的なことですが、大多数のプログラマーは結合とカプセル化に感謝しています。結合は 2 つのモジュール間の依存関係の尺度であるため、既存のモジュールから開始できることが望ましいと考えられます。他のモジュールへの影響を心配することなく、特定のモジュール内で大規模な変更を行うこともできます。カプセル化の原理により、モジュールは相互に相対的に扱われます。独立しており、モジュール間のデータ通信はインターフェイスを通じて行われます。モジュールは相互の変数名を覗くことはなく、関数を通じて丁寧にリクエストを送信します。

カプセル化は、PHP や多くの手続き型言語で使用できる原則です。オブジェクト指向プログラミングは、プログラマがカプセル化の原則に違反しない方法です。オブジェクト指向プログラミングでは、モジュールが次のように編成されます。オブジェクトにはメソッドとプロパティがあります。抽象的な観点から見ると、メソッドはオブジェクトの動作であり、プログラミングの観点からは、メソッドは関数であり、属性は変数です。オブジェクト指向システムでは、各部分がオブジェクトで構成されます。

クラスは、一連の Cookie オブジェクトをベイクする場合、次のようになります。 Cookie メーカーは、呼び出されるメンバーです。これは、データ メンバーまたはメソッド メンバーに名前を付けることで実行できます。


各言語は、C++ から概念を借用しています。また、識別子の下に関数と変数を含めるためのデータ型を提供します。 PHP が最初に設計されたとき、そして PHP3 が開発されたときでさえ、PHP はコード 100,000 行を超える大規模プロジェクトを開発する機能を提供することを目的としていませんでした。 PHP や Zend エンジンの発展により、大規模なプロジェクトを開発できるようになりましたが、プロジェクトがどれほど大きくても、スクリプトをクラス内に記述すればコードを再利用できます。これは、特に自分のコードを他の人と共有したい場合には良いアイデアです。

オブジェクトのアイデアは、コンピューター サイエンスの中で最もエキサイティングな概念の 1 つです。最初はそれをマスターするのは難しいですが、一度マスターすれば、心で考えることが非常に自然に感じられるようになるでしょう。



http://www.bkjia.com/PHPjc/316963.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/316963.html

+------------------------------------------------ --------------------+ |=この記事は、CorePHP プログラミングを楽しく読むためのものです |=ClassesandObjects 章のメモ|=主に翻訳+個人的な経験|=For..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。