-2

宿題があり、GRASP に従ってどちらのアプローチが優れているかを評価する必要があります。

私の質問の一部に答えるこのリンクを見つけました: C++ にヘッダー ファイルと .cpp ファイルがあるのはなぜですか?

ただし、私が知りたいのは、すべてが結合ファイルで定義されているため、Java よりも拡張性とコードの再利用の点で C++ の作業方法がどれだけ優れているかということです。

助けてくれてありがとう !

編集:これが議論ではないことを確認するために、JAVAがCのように機能せず、クラス定義とクラス実装の分離を促進する理由を知りたい. その働き方や進め方に利点はありますか?

この質問はhttps://softwareengineering.stackexchange.com/questions/118574/does-java-promote-a-separation-between-class-definitions-and-implementations-asに移動されました

4

1 に答える 1

2

Java で同等なのは、実装なしの宣言の目的を果たすクラス インターフェイスを宣言することです。インターフェイスへの実装のバインディングは実行時に行われます

拡張性の意味では、どちらも完全に同等です。両方の言語の違いは、拡張機能自体にあるのではなく、パフォーマンス アプローチにあります。Java と C# は構文がより統一されていて簡潔ですが、特定の C++ は初心者にとって読むのが面倒な場合があります。C++ はテンプレートを介したコンパイル時の型バインディングに重点を置いていますが、Java と C# は伝統的に実行時のバインディングとリフレクションに重点を置いています。この差はここ数年で和らぎましたが、一部のアプリケーション ドメイン ニッチ (主にハイ パフォーマンス コンピューティング) では、ガベージ コレクションなどの優れた言語機能は、Java や C# などにとって依然として高い参入障壁となっています。

于 2011-11-08T16:52:55.050 に答える