私はlanguage documentationでスキミングしました.Graph Dartはmixins(インターフェースにメソッド本体がなく、多重継承もなく、Rubyのようなモジュールもありません)をサポートしていないようです。私はこれについて正しいのですか、あるいはDartでmixinのような機能を持たせる別の方法がありますか?Googleダーツはミックスインをサポートしていますか?
12
A
答えて
9
私がいることを報告して満足しています答えは今はいです!
mixinは本当にサブクラスとスーパークラスのデルタです。そのデルタを別のクラスに「ミックス」することができます。
たとえば、この抽象クラスを考えてみます。
abstract class Persistence {
void save(String filename) {
print('saving the object as ${toJson()}');
}
void load(String filename) {
print('loading from $filename');
}
Object toJson();
}
次に、このように継承ツリーの汚染を避け、他のクラスにこれを混在させることができます。ミックスインの定義に
abstract class Warrior extends Object with Persistence {
fight(Warrior other) {
// ...
}
}
class Ninja extends Warrior {
Map toJson() {
return {'throwing_stars': true};
}
}
class Zombie extends Warrior {
Map toJson() {
return {'eats_brains': true};
}
}
制限事項は次のとおりです。
:- はスーパーが
- スーパー への呼び出し
いくつかの追加の読み取りが含まれていないオブジェクトである
6
いいえ、それは(まだ)ミックスインをサポートしていません:https://groups.google.com/a/dartlang.org/group/misc/msg/0865bc828bc248e4
2
編集:
ダーツチームは、released their proposal for Mixins今元issue for Mixins was hereを持っています。
それはまだ実装されていないですが、その間に、私は人気Underscore.js機能ユーティリティライブラリのポートを含んでダートための拡張可能なミックスインのライブラリをリリースしました:https://github.com/mythz/DartMixins
関連する問題
- 1. ダーツはサーバー側の開発をサポートしますか?
- 2. ダーツでリフレクトを介して複数のミックスインにアクセスするにはどうすればよいですか?
- 3. 角度2、ダーツ、ポリマーでCSSミックスインを使用する方法
- 4. ダーツでオペレータのオーバーロードがサポートされています
- 5. Googleダーツ地域
- 6. GoogleはどのくらいPlayNをサポートしていますか?
- 7. Google Dart JavaScriptコンバータは古いブラウザをサポートしていますか?
- 8. Google ChartはUTF-8文字をサポートしていますか?
- 9. Google BigQueryは日付パーティション以外をサポートしていますか?
- 10. Google App Engine JavaはEclipseのホットデプロイメントをサポートしていますか?
- 11. Google CloudテストラボはAppiumテストをサポートしていますか?
- 12. Googleタグマネージャはアンプページをサポートしていますか?
- 13. Google Cloud Spannerは圧縮をサポートしていますか?
- 14. AMPはGoogleタグマネージャ(GTM)をサポートしていますか?
- 15. Googleのアクションは中国語をサポートしていますか?
- 16. Google Cloud SQLは分散機能をサポートしていますか?
- 17. Google Chromeはbody onunload()関数をサポートしていますか?
- 18. Google Cloud Platform HTTP関数はルートパラメータをサポートしていますか?
- 19. Google App Engine Node.jsローカルデベロッパーサーバーはSSLをサポートしていますか?
- 20. セレンはIEのgoogleフレームをサポートしていますか?
- 21. Google BigQueryはARRAY <STRING>をサポートしていますか?
- 22. Google Cloud MLはGPUをサポートしていますか?
- 23. Googleプロトコルバッファはどのプラットフォームをサポートしていますか?
- 24. Google Cloud Spannerはストアドプロシージャをサポートしていますか?
- 25. XamarinはGoogle Maps v3をサポートしていますか?
- 26. GoogleドキュメントリストAPIはOAuth 2をサポートしていますか?
- 27. Google ChromeはカスタムMIMEタイプをサポートしていますか?
- 28. Google App EngineはJAVAプロキシAPIをサポートしていますか?
- 29. Google People APIはクエリ機能をサポートしていますか
- 30. Google Cloud Spannerは「構造」タイプをサポートしていますか?
あなたは現在、正しい答えにアップデートすることをお勧めします:) –