Jenix:
言ってやるが、私はコードの下にあります。
interface IAAA {
void aaa();
}
interface IBBB extends IAAA {
void bbb();
}
class MyClass implements IAAA, IBBB {
public void bbb() { }
public void aaa() { }
}
実装のいずれかの利点があるIAAA
ではMyClass
?あなたが見ることができるように、IAAA
すでにによって拡張さIBBB
とMyClass
両方実施してIAAA
とIBBB
。これは、取り外し思えるIAAA
からMyClass
何も影響はありません。
私はこの愚かな質問を求めている理由は、私はかなり頻繁にパターンのこの種のを見ているAndroid
オープンソースプロジェクト、時には標準でJava
API
などArrayList
。
私が話をしたい一つの例ですSpannableStringBuilder
。
Spanned
インターフェイスは、拡張CharSequence
インターフェイスを。
Spannable
インターフェイスは、拡張Spanned
インターフェイスを。
Editable
インターフェースは両方延びCharSequence
とSpannable
インターフェースを。
SpannableStringBuilder
クラスが実装はCharSequence
、Spannable
、Editable
AGAINインタフェース。
私は実際にそれを得ることはありません。この方法を行うためのポイントは何ですか?なぜわざわざ?
ゲイブSechan:
技術的な理由はありません。これは、バーはFooを拡張し、あなたがfooを実装するすべてのクラスを検索したい場合は、あなただけのFooなくfooとbarを探す必要が、それは少し簡単に保守で行うことができます。