慣用的に両方の概念を同時に使用する言語はありますか? それが必要になるのはいつですか?各アプローチの長所と短所は何ですか?
質問の背景:
私は(Pythonの知識がある)初心者で、マルチメソッドとインターフェースが(一般的に)どのように使用されることを意図しているかをよりよく理解しようとしています。
私はそれらが混在することを意図していないと仮定します.1つはインターフェースに関して利用可能なロジックを宣言する(そしてそれをクラスのメソッドとして実装する)か、1つはマルチメソッドに関してそれを行います. これは正しいです?
次のような OOP 概念のスペクトルについて話すことは理にかなっていますか?
- 1つは単純なサブクラス化から始まります(データとロジック(メソッド)およびロジック実装(メソッド)は密結合されています)
- 次にインターフェースを通過します(ロジックはインターフェースにあり、データとロジックの実装はクラスにあります)
- マルチメソッドで終了します(ロジックはマルチメソッドのシグネチャにあり、ロジックの実装は散らばっており、データはクラスにあります(これは適切なハンドルを持つデータ構造のみです))?