2011-06-22 3 views

答えて

4

これは、Rubyモジュールのクラスとモジュールの違いは正確には含まれており、クラスはできません。それは単に言語の設計です。

クラスは、拡張のために開いた具体的な機能と、Modules provide namespaces and mixin capabilitiesを提供することを意図しています。この相違の原因はおそらく、多重継承とインタフェースの代わりとしてのミックスインの考え方に関係していると考えられます。

+0

これは依然として疑問を抱きます。なぜあなたはクラスから継承できますか?それをミックスインとして含めることはできませんか? – Kudu

+0

可能ならば、 'self.new'や' initialize'のようなクラス固有のメソッドもinclude/extendを使っているクラスに混在させます。私はinclude/extendが*これらのクラス固有のメソッドを無視することができれば可能かもしれないと思います...チャレンジの受け入れ! – RyanScottLewis

関連する問題