私は要素のコレクションを持っており、要素の追加と削除の機能を分離したいので、それらの能力を持つ2つのクラスを作成しました。次に、リムーバークラスが加算器クラスのインスタンスを取得し、そのすべての要素をリムーバー自身のコレクションに転送できるようにします。例を見てみると、より多くの簡単に説明する:Javaで変数のスーパークラスのメンバーにアクセスしますか?
public class Super {
private Queue<E> elements;
public class Thrower {
public void throw(E e) {
elements.add(e);
}
public class Catcher {
public E catch() {
return elements.poll();
}
public void transfer(Thrower t) {
elements.drainTo(Super.t.elements);
}
}
}
しかし、Super.t.elements
は動作しません。私はあなたがSuper.this.elements
のようなものをすることができるので、それができると考えました。
transfer()
メソッドを実装できるうちに、私は追加/削除の分離を保つことができますか?
Bとは何ですか? EとBの間には関係がありますか? –
Ahhhh申し訳ありません...私はそれらをより記述的に改名し、その1つを忘れていました...固定しました – tribe1279
AdderとRemoverをインターフェースしてSuperを実装する方が良い設計になると思います。 – Eelke