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