私は C#/F#/Haskell 出身なので、型で解決することに慣れているプログラミングの問題の解決策を考え出そうとしています。
class A where T : new() in C#, これは主にどこかで new T() を実行できるようにするためです. これにより、Dart で不正な型エラーが発生します。これを解決する合理的な慣用的な方法はありますか?おそらく工場で?
継承された mixin メンバーの名前が競合する場合、最後の mixin が優先されます。したがって、次の場合: abstract class mixA { void foo(); } 抽象クラス mixB { void foo(); クラス C は、オブジェクトを mixA、mixB で拡張します {} new C().foo();
これは mixB.foo() を呼び出すことになりますが、クラス C はオブジェクトを mixB で拡張し、mixA {} は mixA.foo() を呼び出すことになります。
2 つの mixin を同じ名前のフィールドと混合するとします。サブクラス インスタンスには実行時に 2 つのフィールドがありますか (1 つだけにアクセスできません)、それともオブジェクトは辞書のようなもので、名前ごとに 1 つのスロットしかありませんか?