私は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. Googleダーツ地域
- 3. ダーツでオペレータのオーバーロードがサポートされています
- 4. GoogleはどのくらいPlayNをサポートしていますか?
- 5. Google Dart JavaScriptコンバータは古いブラウザをサポートしていますか?
- 6. Google CloudテストラボはAppiumテストをサポートしていますか?
- 7. Google App Engine JavaはEclipseのホットデプロイメントをサポートしていますか?
- 8. Google ChromeはカスタムMIMEタイプをサポートしていますか?
- 9. Google ChartはUTF-8文字をサポートしていますか?
- 10. Google App EngineはJAVAプロキシAPIをサポートしていますか?
- 11. セレンはIEのgoogleフレームをサポートしていますか?
- 12. Google Chromeはbody onunload()関数をサポートしていますか?
- 13. GoogleドキュメントリストAPIはOAuth 2をサポートしていますか?
- 14. Google Cloud SQLは分散機能をサポートしていますか?
- 15. Googleタグマネージャはアンプページをサポートしていますか?
- 16. JavascriptとGoogleダーツの比較
- 17. 私は3つのダーツのクラスを持っているダーツ
- 18. MapKitはGoogle StreetViewをサポートしています
- 19. Google OAuth 2.0 APIはどの程度までRFC7636をサポートしていますか?
- 20. Google Glass GDKではIntent.ACTION_CALLがサポートされていますか?
- 21. Google ChromeでtoJSONはサポートされていますか?
- 22. Windows Phone 7はWebブラウザでGoogle Mapをサポートしていますか?
- 23. google maps api v3はズーム用のマルチタッチをサポートしていますか?
- 24. google bigtableとamazon simpleDBは正規表現をサポートしていますか?
- 25. Google AppsスクリプトはどのエディションのECMA-262をサポートしていますか?
- 26. google + iphoneアプリのURLスキーム(mgc://)はパラメータをサポートしていますか?
- 27. CSS3アニメーションはサポートしていますか?
- 28. Webサーバーでダーツを実行しています
- 29. ダーツ用のストリームコンビネータライブラリはありますか?
- 30. C intellisenseはサポートしていますが、C++をサポートしていない適切なIDEはありますか?
あなたは現在、正しい答えにアップデートすることをお勧めします:) –