プロセス指向とオブジェクト指向はどちらもソフトウェアの分析、設計、開発に関する考え方であり、さまざまな方法でソフトウェアを分析、設計、開発することができます。初期にはプロセス指向の考え方がありましたが、ソフトウェアの規模が拡大し、問題が複雑になるにつれて、オブジェクト指向の考え方の欠点がますます明らかになり、現在の主流の方法になりました。どちらもソフトウェアの分析、設計、開発のすべての段階で実行されます。対応するオブジェクト指向は、オブジェクト指向分析 (OOA)、オブジェクト指向設計 (OOD)、およびオブジェクト指向プログラミング (OOP) と呼ばれます。 C言語は代表的なプロセス指向言語であり、Javaは代表的なオブジェクト指向言語です。
プロセスの観点から問題を考えるとき、私たちはまず「それを段階的に実装するにはどうすればよいか?」を考え、そのステップをメソッドにマッピングし、段階的に実行し、最終的にそれを完成させます。 これは、あまり共同作業を必要としない単純なタスクに適しています。例えば、どうやって運転するかというと、実装手順を簡単に列挙すると、
1. 車をスタートさせる 2. 車のギアを入れる 3. アクセルを踏む 4. 行こう
プロセス指向は、次のような単純なタスクに適しています。協力を必要としません。 しかし、「車を作るにはどうすればいいですか?」など、より複雑な質問について考えると、1234 の手順を列挙するのは不可能であることがわかります。それは、自動車の製造があまりにも複雑で、完成させるには多くの協力が必要だからです。このとき、オブジェクト指向の考え方が生まれました。
オブジェクト指向(オブジェクト)思考は、より人間の思考パターンと一致します。私たちが最初に考えるのは、「これをどのように設計するか」ということです。たとえば、車を作ることを考えるとき、「車を段階的に作るにはどうすればよいか」ということを最初に考えます。これは考え方の変化です。
1. オブジェクト指向の考え方で車を作ることを考えると、車は次のオブジェクトで構成されていることがわかります:
1. タイヤ
2. エンジン
3. 車のシェル
4. シート
5. フロントガラス
コラボレーションを促進するために、タイヤ工場にタイヤの製造ステップを完了してもらい、エンジン工場にエンジンの製造ステップを完了してもらいました。このようにして、最終的に全員が車を製造できることがわかりました。組み立ても同時に行うことができ、作業効率が大幅に向上しました。しかし、タイヤ工場の具体的な組立ラインの運用となると、依然として段階があり、プロセス指向の考え方と切り離すことはできません
したがって、オブジェクト指向はシステム全体を把握し、分析するのに役立ちます。マクロ的な視点。 ただし、実装部分 (つまり、各メソッド) に固有のマイクロ操作は、依然としてプロセス指向のアプローチで処理する必要があります。
プロセス指向とオブジェクト指向を対立させてはいけません。それらは互いに補完し合います。オブジェクト指向はプロセス指向から切り離すことはできません!
・オブジェクト指向とプロセス指向のまとめ
2つ目は、どちらも問題解決の考え方とコードの編成方法です。
3. 単純な問題を解決するには、プロセス指向を使用できます
4. 複雑な問題を解決するには、マクロレベルでオブジェクト指向の理解を使用し、ミクロレベルでもプロセス指向であり続けます。
・オブジェクト指向の考え方
複雑な問題に遭遇したとき、まず問題から名詞を見つけ、その名詞のうちどの名詞がクラスとして使用できるかを判断し、クラスの属性とメソッドに基づいてクラス間の関係を決定します。問題の要件によってクラスが決定されます。
お勧め
1. オブジェクト指向には、カプセル化、継承、ポリモーフィズムという 3 つの大きな特徴がありますが、プロセス指向には継承とポリモーフィズムがなく、プロセス指向のカプセル化は関数のみをカプセル化しますが、オブジェクト指向はデータと関数をカプセル化できます。したがって、オブジェクト指向の利点はより明らかです。
2. 古典的な比喩: オブジェクト指向は丼のようなもので、プロセス指向は卵入りチャーハンのようなものです。丼のメリットは「野菜」と「ご飯」が分かれているので、丼作りの自由度が高まることです。食事に満足できない場合は食事を変更し、料理に満足できない場合は料理を変更します。ソフトウェア工学的には「保守性」の方が優れており、「ご飯」と「料理」のカップリングは相対的に低い。
以上がJava チュートリアル オブジェクト指向とプロセス指向の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。