我有三個類AbstractResumeOrchestrator
,Pattern1orhcestrator
和Pattern2orhcestrator
。Java繼承獲取基於對象類型的子類的所有方法
後兩者延伸AbstractResumeOrchestrator
。
AbstractResumeOrchestrator
本身延伸AbstractOrchestrator
。
調用到AbstractOrchestrator
對象execute
方法調用以下提到的方法:
public abstract class AbstractResumeOrchestrator extends AbstractOrchestrator<OnboardingSessionDTO>
{
protected OrchestratorResponse execute(final OnboardingSessionDTO onboardingSessionDTO, final KVPContext kvpContext) throws Exception {
// based on the object's class that extends AbstractResumeOrchestrator
// get it's all functions - it could be pattern1 or 2 orchestator
Method method = Pattern1Orchestrator.class.getDeclaredMethod();
}
}
我想基於它是否型式1或模式2的所有方法或協調器。我無法更改用於傳遞子類名的方法的參數簽名execute
。
我怎樣才能最有效地做到這一點?
您對不在父類中的方法感興趣嗎? –
是的,如果我的Orchestrator是Pattern1類型,那麼我需要pattern1的所有方法,對於pattern2也是類似的。 – pseudoCoder
爲什麼不讓這個方法抽象?並在Pattern1Orchestrator和Pattern2Orchestrator中實現它,並在這些對象的實例上調用它。 –