私の質問は、単純に、クラスが使用しなければならない特性をインターフェースが強制できるかどうかです。
私が尋ねる理由は、アプリケーション全体で複雑でありながら一般的な操作を作成するために、異なる名前空間の異なる実装で存在する同じ名前の特性を参照する名前空間化されたインターフェイスのセットを想像するためです。-意味がありますか?
私の質問は、単純に、クラスが使用しなければならない特性をインターフェースが強制できるかどうかです。
私が尋ねる理由は、アプリケーション全体で複雑でありながら一般的な操作を作成するために、異なる名前空間の異なる実装で存在する同じ名前の特性を参照する名前空間化されたインターフェイスのセットを想像するためです。-意味がありますか?
トレイトは本質的にコピーアンドペーストされたコードであり、インターフェースや継承の観点から考えるべきではありません。インターフェイスは特性を強制できません。ただし、トレイトはインターフェイスの実装として機能する可能性があります。
他の特性で構成される特性を持つことができます。または、いくつかの特性を使用する抽象基本クラスを持つことができます。それらの解決策は両方ともあなたが探しているものかもしれません。
いいえ、それはできません。
インターフェイスは、メソッドを実装するためにクラスのみを必要とします。そのようなパックされた実装(特性)が存在するかどうかについては何も知りません。