基本的な操作を行う抽象クラスがありますが、今度はすべての派生クラスにメソッド「check」を強制したいのですが、このメソッドについては何も分かりません。例えば、抽象クラス:クラスを実装するJava、パラメータを知らないメソッドの強制実装
public abstract class Service<T extends Transport> {
public T getTransport(int id) {
[...]
}
public abstract boolean checkTransport(T transport, ...);
}
と2:
public ServiceAAA extends Service<ClassA> {
public boolean checkTransport(ClassA t) {
[...]
}
}
public ServiceBBB extends Service<ClassB> {
public boolean checkTransport(ClassB t, Integer value, Integer otherValue) {
[...]
}
}
ServiceBBBは、クラスのClassBのオブジェクトtをチェックするために、2つのパラメータを必要とします。 もちろん、それは動作しません、サブクラスが "Object ..."表記を使わずにcheckTransportメソッドを実装するように強制する方法はありますか?
いいえ、varargsを使用すると、悪い設計をハッキングして作業する(または少なくともコンパイルする)ことになります。 – Kayaman
あなたはこれをしたいと思っていますか? –
私は実装者にcheckTransportメソッドを書き込ませたいと思っています。もちろん、私のアプローチには欠陥があります。 –