簡體   English   中英

覆蓋java / scala中的整個類

[英]Override whole class in java/scala

我有一個已經提供的庫,它有兩個Scala類:

class EvaluationFunction (data:DataHolder) {
    def calculate(params:ParamHolder) = {...}
}

class Regression {
    def train(data:DataHolder) = {
        ...
        val costFunction = new EvaluationFunction(data)

        //find params to minimize costFunction.calculate(params)
        ....
    }
}

我想創建自己的回歸類,其行為與原始回歸完全相同,但使用不同的評估函數。 但是,我能想到的唯一方法就是擴展回歸並覆蓋整個列車方法。 但它包含了Regression類中的幾乎所有邏輯 - 我也可以從頭開始編寫它!

有沒有更好的辦法? 例如,每當原始調用EvaluationFunction時,以某種方式告訴我的擴展回歸類調用另一個類?

您顯示的代碼無法編譯: data沒有數據類型。

除此之外 - Regression類的結構很奇怪。 它應該具有可覆蓋的EvaluationFunction 目前它已經內置到train方法中。 這就是你需要覆蓋(/重寫)整個類的原因。 這是類結構的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM