을 생성하여 Object
이 아닌 UnitBuilder
또는 SourceBuilder
에 의존하게하려면 어떻게해야합니까?특정 엔티티 유형으로 팩토리를 어떻게 생성 할 수 있습니까?
public class BuilderFactory {
Object getBuilder (Object entity) throws UnsupportedResourceEntityType {
if (entity instanceof Source){
return new SourceBuilder();
}
if (entity instanceof Unit){
return new UnitBuilder();
}
throw new UnsupportedResourceEntityType();
}
}
을 (난 당신이 도스 두 개의 클래스를 일반적인 슈퍼를 유지 가정합니다 및 이러한 클래스는 기본 생성자를 가지고) 당신은 인수로
SourceBuilder.class
또는UnitBuilder.class
을 통과해야한다, 그래서 당신의 방법이 될 것이다 'SourceBuilder'와'UnitBuilder'? – Dici그러면이 일반적인 유형으로'Object'를 대체하지 않으시겠습니까? 또는이 공용 클래스에 의해 구현 된 인터페이스에 의해 더 좋습니다. – Dici
예, 그렇지만 상위 클래스 (상위 클래스)는 제거 할 것입니다. – Alex