接著來擴充一個物件
Dart跟Java一樣只能繼承一個父類,。
class Demo {
String name;
int type;
Demo(this.name, this.type);
String introduce() => "This class is $name.";
}
class Demo2 extends Demo {
Demo(String name, int type): super(name, type);
}
void main() {
var F = new Demo2('for demo', 5);
print(F.introduce());
}可以看到擴充建構子的方式是使用「:super(.....)」。
但怎麼擴衝或複寫建構子內容?這樣做明顯只是完整使用父類別的建構子而已。而且還有多重建構子的部分又要怎麼使用?
(會有這些疑問,因為本文是基於這份iT邦的網路教學的閱讀後心得寫成。)
原來只要在「super(...)」後繼續加上引號繼續編寫內容即可。例如下面這段...
DemoX() :super() { ... }
(但這是否又表示「super()」並非必須的?)
另外比較特殊的是lambda演算法式宣告的函數「introduce()」,函數前面有宣告回傳資料型態,但後方的程式碼整個直接省略return。
(這是lamdba演算法的標準寫法嗎?暫時沒有找到明確答案,但似乎是如此。)
留言
張貼留言