私はお互いにかなり似ている多くのクラスを持っている場合、それらを抽象クラスから継承するのは良い選択ですか?同じコードを書き直すのを避けるために、抽象クラスは良い方法ですか?
1
A
答えて
1
犬の真の抽象である場合にのみ、動物のような感覚があります。あなたの抽象クラスのものは、すべての派生クラスに意味を持たなければなりません。
そうしないと、基本クラスを使用してAPIのインポートをソートする危険性があります。意図的な設計がなければ、通常、すべてのクラスで共通に使用される共有依存関係に共通性を抽出するほうがよいでしょう。
抽象クラスクライアントコードが直接参照または使用しない抽象クラスは、通常、オフトラックで実行している可能性のある記号です。
1
絶対に。可能であれば、私はインターフェイス/プロトコルを使用しますが。彼らはあなたが他のクラスを継承する自由を与えるので、より柔軟性があります。
最適な選択は、クラスの性質とその重複したコードの内容によって異なります。
関連する問題
- 1. 抽象クラスの子クラスでコードの重複を避ける
- 2. サブクラスを同じ抽象クラスから区別する方法
- 3. コードを避けるためのヒントこの抽象化の重複?
- 4. これはヌルリターンを避けるための良い方法ですか?
- 5. 同じクラスの別の同じIDで別のコードを避ける
- 6. 同じコードを再度書くのを避けるためにJQueryで関数を作成する
- 7. C++の抽象クラスで抽象関数を使用できますか?私は抽象メソッドを持つクラスを構築するため
- 8. 短いコードを使用するためにforループを書き直す方法
- 9. 抽象クラスで抽象関数を呼び出す方法
- 10. Delphi抽象クラスの実装を避ける
- 11. 抽象クラス、コードの重複を避ける方法は?私は基本クラスから継承これらのスバとSUBBクラスを持っている
- 12. Laravel再び同じコードを書き直してはいかがですか
- 13. 非抽象クラスを抽象クラスで非抽象メソッドに値を代入する
- 14. C#で書かれた抽象基本クラスから継承する方法
- 15. XMLを抽象クラスにアンマーシャリングする方法、クラスをインスタンス化するためにxsi:typeを知る方法
- 16. Sqlalchemy:多重継承を避け、抽象基底クラスを持つ
- 17. 異なるクラスからの上書きを避けるために、クラスごとにクラス属性を別々にする方法はありますか?
- 18. 抽象クラスを抽象クラスで模擬しています
- 19. pdfファイルをチェックする良い方法は、word文書と同じですか?
- 20. ゼロパラメータを持つ抽象クラスとパラメータを持たない抽象クラスの違いは何ですか? Scalaで
- 21. 抽象クラスのフィールドにアクセスする正しい方法は?
- 22. "共有"を避ける良い方法はありますか?
- 23. jQueryコードを書くための良い方法はありますか?
- 24. .NET私は、次の抽象クラスを持つ抽象クラスから
- 25. AsyncTaskの抽象クラスで保護されたメソッドでコードをユニットテストする方法はありますか?
- 26. 抽象クラス対抽象クラス
- 27. 抽象クラスと抽象メソッドを使用してJavaで抽象化を行うための有効なコードですか?
- 28. 抽象クラスをインスタンス化できないため、コンストラクタはなぜ抽象クラスの内部で使用できますか?
- 29. オブジェクトを抽象化するためのエレガントな方法は何ですか?
- 30. Javaはクラス抽象クラスですか?
あなたはコードサンプルを提供し、あなたのケースで本当に似ているものについてもっと詳しく説明する必要があります... –