문제는 이것이다 호출 구체적인 클래스는 사용자 정의 할 필요가 있고 하나 개의 솔루션은 구체적인 클래스를 확장하는 것입니다점프 조부모의
class CustomizedClass1 extends ConcreteClass1 {
CustomizedCLass1(){ super(); /* useful implementation */ }
}
그러나 문제는 사용자 정의 된 클래스는 추상 클래스의 생성자가 아닌 구체적인 클래스의 생성자를 호출하기 만한다는 것입니다.
어떻게 이것을 수행합니까? 수업 관계를 변경하기위한 제안은 유효합니다.
EDIT : 구체적인 예는 ConcreteClass1과 CustomizedClass1이 서로 다른 데이터 세트 (ConcreteData1 및 CustomizedData1)를 가지며 클래스 생성자의 데이터베이스에서 검색된다는 것입니다. 문제는 CustomizedClass1의 인스턴스를 만들면 두 데이터 엔터티를 모두 가져옵니다.
저는 단순한 상속을 사용하는 것이 최선의 방법이 아니라는 것을 알고 있습니다. 그래서 나는 클래스의 관계를 변경하라는 제안이 유효하다는 것을 지적했습니다.
'ConcreteClass1' 생성자를 호출하지 않으면'ConcreteClass1 '이 아닙니다. –
몇 가지 해답이 있지만 Java와 OO에서는 매우 부자연 스럽습니다. 최선의 해답은 객체 디자인에 도전하고 is-A 및 has-A 관계에 대해 생각하도록 권장합니다. –
그러나 개발의 속도는 때때로 중요 할 수도 있습니다. 그렇죠? – mlvljr