ホームページ >バックエンド開発 >PHPチュートリアル >オブジェクト指向 OOP の弟、私の意見

オブジェクト指向 OOP の弟、私の意見

WBOY
WBOYオリジナル
2016-06-13 12:07:36885ブラウズ

オブジェクト指向 OOP についての私の意見
1. オブジェクト指向 OOP コードの編成と活用の思考法。あまり深いことはありません。
2. 小規模で単純なプログラムでは、プロセス指向プログラミングはオブジェクト指向プログラミングと同じくらい美しいものになります。ただしレベルは必要。
3. ただし、数百行程度の小規模なプロジェクトであっても、プロセスよりもオブジェクト指向の方が美しく書きやすいでしょう。
4. PHP 言語でサポートされる可変変数と新しい $objectName により、ポリモーフィック実装がより簡単かつシンプルになります。
5. コードの最適化を常に考慮する Java でのプログラミングは、実際には PHP よりもはるかに簡単ではありません。
6. オブジェクト指向の方向では、Java で開発されていますが、本質は C と同じです。しかし、PHP のオブジェクト指向は、OOP と手続き型プログラミングの利点を最大限に活用して、より完全かつ自由になりました。
7. 関数型プログラミング (プロセス指向の関数を指すものではありません) は、OOP プログラミングとはまったく異なる考え方であり、より柔軟な考え方です。
8. OOP の要素として、プロセス指向の関数型プログラミングが利点となる場合があります。
9. OOP の実装も手続き型プログラミングで実装されます。 C 言語は、OOP のようなプログラミングも実装できます。それは非常識です。
10. OOP プログラミングの最高の状態は、プログラムに自己識別と自己理解があることです。
------解決策のアイデア----------------------
私はすでに知識が少なすぎます?
------解決策のアイデア----------------------
複雑なところから始める場合 視点から使いやすさ、拡張性、メンテナンスの容易さの点で、OO は OP に比べれば単なる語彙にすぎないと思います。
------解決策のアイデア----------------------
実は、私はオブジェクトが好きではありません非常にデータとロジックを組み合わせているように感じます。

一度、Action のメソッドを Model に移動したいと考えました。

それはビジネス ロジックであるため、含める必要があると考えています。 . Model では、

このメソッドにはメンバー メソッドとメンバー属性への呼び出しが多数あり、これを別の場所に移動する必要があります。大きな変化。

コード:


<br />class TestAction extends Action {<br /><br />  private $age;<br />  protected $name;<br />  protected $mid = 1;<br /><br />  private function foo($param) { <br />    $this->age = 99;<br />    // 一些代码<br />  }<br /><br />  private function bar() {<br />    return $this->name;<br />  }<br />  // 这是我想移动的方法<br />  public function test () {<br />    // 一些代码<br />    $this->foo($var);                                    // 依赖 Action 的 foo () 方法<br />    $status = $this->bar($this->mid);      // 依赖 Action 的 bar () 方法,依赖 mid 字段<br />  }<br />}<br /><br />class TestModel extends Model {<br />    // 想把 test () 方法放在这个类里<br />}<br />

-----ソリューションのアイデア------ - ---IT テクノロジーは生活から生まれ、生活に役立つものです。オブジェクト指向が広く使用され、発展し続けているのは、それが私たちの実際の生活に近いからです。

もちろん、たとえば、今簡単な投票プログラムを作成する必要がある場合は、プロセス指向の方法で作成するだけです。

両者の間には矛盾はなく、一方の発展によってそれぞれが排除されることはありません。

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