2017-03-26 3 views

答えて

6

interfacesとtypesは似ていますが、その違いは主に私が信じる歴史的なものです。最近実施されたproperty varianceの変更により、の動作がinterfaceの動作に沿ってより多く発生しました。私は最終的にそれらを同一にし、場合によってはinterfaceを取り除くことを目標としています。

まだ微妙な違いがあるかもしれませんが、ほとんどの用途で私はあなたに違いがあるとは思わないと思います。ないtype -

一つの大きな違いは、あなたがimplements(例えばclass Foo implements Bar {...})を使用したい場合は、その後Barinterfaceでなければならないということです。しかし、クラスをマーキングすることは、インターフェースを実装することが必須ではないことに注意する価値があります。フローは構造的なサブタイプ化を実装しているので、クラスインスタンスがあれば、そのクラスが特定のインタフェースを実装していることを明示的に示さなくても互換性のあるものを期待するものに渡すことができます。

関連する問題