1
在Scala中是有可能在基類聲明泛型抽象函數,然後 提供各種派生類不同的具體實施方式是這樣的:部分定義
abstract class B {
def foo[T,V](u:T):V
}
class D extends B {
def foo(u:T_0) = {...}
def foo(u:T_1) = {...}
....
}
,同樣也指類D1 ,D2,...從類B(具有可能不同的具體類型T_j) 到類D_j以便使用obj.foo(u)和編譯器標誌,只要foo用於某個類型的參數,而foo不是定義。
總之,問題是:是否從B派生的類被視爲混凝土,只要foo被定義爲 至少有一個具體類型T?
確定。謝謝。這很不幸。 – 2014-10-28 13:23:01
爲什麼不幸?以這種方式使用類型系統的整個想法是能夠對方法調用的有效性進行嚴格的編譯時檢查。取決於你想要完成什麼,可能有其他更精細的方法。有各種各樣的方法可以將'foo'中的類型關聯起來。我想你可能不得不問一個新的,更具體的問題來獲得幫助。 – acjay 2014-10-28 15:25:52