2
D語言有'別名...'。 Go嵌入了字段。在下面的代碼中,Dart是否有辦法到達齧齒動物的大腸,而不經過內臟?理想情況下,某種暴露內部組合的方法,不需要在每個動物中使用一些常見的內部組件創建轉發呼叫?自動呼叫轉移 - 訪問齧齒動物的大腸
import 'dart:io';
class Stomach {
work() { print("stomach"); }
}
class LargeIntestine {
work() { print("large intestine"); }
}
class SmallIntestine {
work() { print("small intestine"); }
}
class Guts {
Stomach stomach = new Stomach();
LargeIntestine largeIntestine = new LargeIntestine();
SmallIntestine smallIntestine = new SmallIntestine();
work() {
stomach.work();
largeIntestine.work();
smallIntestine.work();
}
}
class Rodent {
Guts guts = new Guts();
work() => guts.work();
}
main() {
Rodent rodent = new Rodent();
rodent.guts.largeIntestine;
rodent.work();
}
謝謝。實際上,我正在尋找比爲每個動物的每個器官宣佈「獲得」更少的工作。例如,用D你可以在Rodent中「混淆這個膽量」,然後你可以直接從Rodent中使用膽量成員。因此,這是一個玩具的例子,但假設將有30只動物,我不想要30 * 3的複製/粘貼獲得者(即沒有複製/粘貼轉發)。我還沒有在Dart中使用mixins,所以也許這有一個潛在的解決方案? – user1338952 2013-04-09 19:51:30