이 라이브러리를 사용하고 있으며 일부 수퍼 클래스에서 일부 메소드를 재정의해야했습니다. 지금 내가해야 할 일은 필요한 클래스를 확장하고 슈퍼 클래스에서 재정의해야하는 메소드를 다시 정의하는 것입니다. 여러 클래스가 같은 슈퍼 클래스를 확장하고 나는 모든 하위 클래스가 같은 오버라이드 (override) 방법을 사용하고자 할 때 분명히라이브러리의 클래스 -Hararny 중간에 수퍼 클래스를 확장합니다.
class A { ... }
class B extends A { ... }
class C extends A { ... }
class myD extends B {
protected void overriddenAfunction() { ... }
}
이 좋지 않다 (같은 C는 (overridenAFunction 같은 정의를해야하는 경우)).
예쁜 디자인 패턴이나 방법이 있습니까? 당신이 다음과 같이 할 수 있다고 상상하고 있습니다.
그러나 그렇다면 B와 C의 모든 방법을 사용해야합니다.
더 좋은 방법이나 해결책이 있습니까? 정말 최고의 솔루션이라고 생각하지만 라이브러리를 다시 포장하지 않으려 고합니다.
나는 또한 B와 C의 사본을 만들어 myD가 A를 확장하는 동안 myD를 확장 할 수 있다고 생각한다.이 라이브러리에는 사용 가능한 모든 소스 파일이 있으므로이 작업을 수행 할 수있다.
아마도 상황을 설명하는 일을 잘못했을 것입니다. 저는 JFreeChart (차트 그리기를위한 라이브러리)와 함께 작업하고 있습니다. Axes의 틱이 어떻게 그려지는지를 제어하는 함수가있는 NumberAxis (A) 클래스가 하나 있습니다. 그런 다음 클래스를 확장하는 DateAxis (B) 및 SymbolAxis (C) 클래스가 있습니다. 이러한 클래스에는 레이블의 형식 설정과 같은 특정 기능이 포함되어 있습니다. DateAxis의 메서드를 재정의하는 효율적인 방법은 DateAxis와 SymbolAxis에서 모두 사용할 수 있도록하려는 것입니다. – user1540134