我有一個類,我想動態接受什麼類型,但仍然是浮點類型。我在下面添加了一個示例類。簡而言之,我想要一個可以包含Ints或Floats(或摘要(Float))的類,但是類型參數不喜歡被分配一些實際上符合它的東西。將默認值分配給T:浮點類型參數
class Container<T:Float>
{
public function new(aValue:T = 0.0)
{
}
public function example():T
{
return 16.0;
}
在這個例子中,我得到了兩個編譯錯誤。第一個是構造函數new(aValue:T = 0.0
的默認值。一個簡單的解決方法是將該值設置爲動態,但我喜歡我的代碼比這更簡單。第二個錯誤是在example()的返回值中。它不會讓我返回16.0,因爲它不是T實例。
我的問題:這是可行的,如果不是,我應該爲每種類型使用不同的類定義?
雖然這種簡單的解決方案工作得很好了某些情況下,它不會爲不包含'從浮到Float'摘要工作。 如果您可以將值分配給Float類型參數,則可以支持任何類型的支持浮動操作重載的摘要。 當然,如果沒有辦法給浮點類型參數賦值,那麼簡單的浮點容器就是最好也是最有效的解決方案。 –
等一下,淋浴幫了忙。我以前的評論不起作用,因爲一個抽象不是嚴格意義上的float,不能用作類型。我真正需要的是某種方式來指定類型中可能的操作符重載,我認爲這不可能。然後我會選擇你的答案作爲正確答案。 –