質問: 抽象クラスの代わりにインターフェースを使用する場合、およびその逆の場合 これは一般的なoopの質問かもしれません。使用法に基づいて、インターフェースと抽象クラスの間で一般的な比較をしたいと思いました。いつインタフェースを使いたいのか、そしていつ抽象クラスを使いたいのか?
回答: インタフェースよりも抽象クラスを好む場合は? プログラム/プロジェクトの存続期間を通じて基本クラスを更新することを計画している場合は、基本クラスを抽象クラスにすることをお勧めします。 階層内で密接に関連しているオブジェクトのバックボーンを構築しようとしている場合は、抽象クラスを使用することは非常に有益です。 抽象クラスよりもインターフェースを優先する場合は? 大規模な階層型のフレームワークを扱っていないのであれば、インターフェースは素晴らしい選択です。 多重継承は抽象クラスではサポートされていないため(ダイヤモンド問題)、インターフェースはその日の時間を節約することができます。