1
- 進口
dart:html
,我可以創造一個新的子類的ButtonElement
出廠構造MyButton
,並添加一些新的功能 如getButtonName(){}
... 當程序運行時,我得到一個實例如何創建一個新的子類延伸ButtonElement
MyButton btn=new MyButton()
但實例「BTN」運行時類型仍是
ButtonElement
,並且不能調用getButtonName()
函數。如果我使用btn as MyButton
然後我得到這個錯誤Uncaught CastError: Casting value of type ButtonElement to incompatible type MyButton
下面是代碼
class MyButton extends ButtonElement {
factory MyButton(){
return new ButtonElement();
}
String getButtonName(){
return "ButtonName";
}
}
爲什麼超類使用工廠構造函數,那麼強制子類也必須使用工廠構造函數呢?並且該實例無法訪問該類的靜態方法?爲什麼? – 2015-02-12 05:44:44