継承 (プログラミング)
界面継承は抽象メソッドをクラスに相続させるのに対して、Mix-in継承は独立メソッドをクラスに贈与する。
界面継承はインターフェースの継承先クラスに実装メソッドを記述するが、Mix-in継承はトレイトに実装メソッドを記述する。
界面継承は同名アルゴリズムを個々のクラスのメソッドに分散記述するが、Mix-in継承は1つのメソッドに個々のクラスのアルゴリズムを一括記述する。
インターフェースはデータメンバを持つことを想定されていないが、トレイトはデータメンバを持つ。すなわち界面継承は派生メソッドたち専用の共有データを持てないが、Mix-in継承はそれが可能である。
界面継承はthis参照を暗黙使用できるが、Mix-in継承は不可なのでThis参照の明示的な引数渡しや関連型の機能が必要になる。
インターフェースは記名的型付けであるのに対して、トレイトは構造的型付けで識別されることが多い。