2
我對scala非常陌生,並且在隱含概念上掙扎。含義和類型定義
我有一個類定義如下:
class SomeClass[A <: AA, B <: BB](val someParameter: String)
我想使用這個類與其他類型不從AA和BB繼承,像這樣:
val myInstanceOfSomeClass = SomeClass[C, D]
知道是c和D(它們是Java類,如果有幫助的話)可以轉換爲AA和BB實例,這要歸功於它們的構造函數
def myAInstance(someCValue : C) : A = new A(someCValue)
值myInstanceOfSomeClass
在另一個函數中用作SomeClass [C,D]類型的參數。
我知道這件事情涉及到隱性的定義,但我相當的語法丟失,特別是在和我應該如何定義的隱含定義...
那麼,我該如何使用我SomeClass的其他類型那可以轉換爲定義的類型?
編輯:我不能直接修改SomeClass[A <: AA, B <: BB]
的定義,因爲它來自外部庫。
對不起,我覺得這不是在我的崗位清楚,但我不能改變的'類SomeClass的定義[A <:AA ,B <:BB](val someParameter:String)'。這就是我所說的「我想用這種方式使用類:'val myInstanceOfSomeClass = SomeClass [C,D]'。我正在編輯這個問題。 – user3485809
然後你運氣不好,必須明確地應用轉換(當然這不需要是一個「隱含的」) –
嗯......我想我可以讓它成爲......不管怎樣,謝謝!我應該接受你的回答嗎? – user3485809