2017-02-02 36 views
-1

我有類ParentImageTransformation與方法getResolution。現在我有一個新的類ChildImageTransformation與覆蓋的方法getResolution。我有一個配置告訴我,如果我需要使用覆蓋的方法。如何通過子類中的配置使用父類

是否可以實例化ChildImageTransformation類,以便它通過配置使用正確的getResolution方法?

回答

3

最簡單的將它定義爲這樣的:

class ChildImageTransformation extends ParentImageTransformation { 
    private boolean useParent; 

    public ChildImageTransformation(boolean useParent) { 
    this.useParent = useParent; 
    } 

    public int getResolution() { 
    if (useParent) { 
     return super.getResolution(); 
    } else { 
     return <something>; 
    } 
    } 
} 

然後你就可以實例化類和方法將委託給超,如果你的布爾設置爲true

+0

嗨,我的問題是關於如何避免getResolution方法中的'useParent'檢查。是否有可能實例化該類,以便我可以將其用於「開箱即用」的所有可能方法。 –

+0

您可以將lambda傳遞給定義getResolution方法實現的構造方法? –

相關問題