ScalaとHackからわかることから
ミックスイン:
- 状態を持つことができます(つまり、インスタンスプロパティ)
- 具体的な方法しか提供できない
- クラスが混合されたのと同じ順序で呼び出されるコンストラクターを持つことができます
- もし
A
混合物中B
とC
、A instanceof B == false
そしてA instanceof C == false
特徴:
- メソッドのみを提供でき、状態は提供できません
- コンシューマが実装する必要がある抽象メソッドを宣言できます
- コンストラクタを持つことはできません
A
トレイトB
とを実装する場合C
、A instanceof B == false
およびA instanceof C == false
これは正しいですか、または何か不足していますか?これらの定義は、任意のOO言語に対して正確ですか、それとも上記の言語に対してのみ正確ですか?
どのような用語の使用について話しているのですか?オリジナルの論文は?ギラドブラハス博士論文
—
イェルクWミッターク
トレイトのさまざまな実装にどのような特性があるか知りたいです。同じことがミックスインにも当てはまります。私が提供したリストは2つの言語で見つけたものであり、それらのリストが他の言語にも当てはまるかどうかを確認したいと思います。
—
bcherny 2018
質問は興味深く関連性があるようで、私は反対票を本当に理解していません。ただし、主観の誤った印象を避けることで表現を改善できる可能性があります。コメントから、「お気に入りの言語」に興味はないが、これらのプロパティがサポートするすべての言語のミックスインと特性に一般的であるかどうかを確認したいことがわかりますまたは、あなたの発見がこれらの概念のScalaの見解を表すだけの場合。
—
クリストフ
@Christophe:質問で述べられている質問は、主観的な買い物リストの質問であり、2つの理由からトピック外です。コメントで述べられている質問は買い物リストの質問であり、トピックから外れています。
—
イェルクWミッターク
@Christophe:モノのリストを尋ねる質問はトピックから外れています。この質問では、特性とミックスインを持つ言語のリストと、それらの実装が持つプロパティのリストを求めます。それがGoogleの目的です。ソフトウェアエンジニアリングの専門知識は必要ありません。
—
イェルクWミッターク