public abstract class SoftwareComponent {
private Set<Information> generateInfo = new HashSet<Information>();
private Set<Information> consumeInfo = new HashSet<Information>();
public Set<Infomation> getGeneratedInfo() { ... }
public Set<Information> getConsumedInfo() {....}
}
public class SensorDriver extends SoftwareComponent {
}
public class Information { ... }
public class SensorMeasurement extends Information { }
public class command extends Information { }
上記のコードは私のプログラムの構造です。ここで、センサドライバはすべて の親クラスメソッドを継承しています。センサードライバでオーバーライドされたメソッドの範囲を制限したい。Java継承でオーバーライドされたメソッドのスコープを制限する
制限は "センサードライバ"は "センサー測定"情報のみを生成できます。 "センサードライバ"は "コマンド"情報を消費できません。
できません。それは継承という概念を破ります。基本クラスができることは何でも、あなたのサブクラスは名誉を必要とします。 –
私はこの質問を理解できません。おそらく言い回しを変えることはできますか? – Jivings
私の質問に言い換えると、 "Javaのサブクラスでオーバーライドされたメソッドの範囲を制限する方法はありますか?" – Pankesh