2012-12-15 8 views
10

複数のクラスから継承できるように、rubyサポートの多重継承を継承しますか?ruby​​が多重継承をサポートしていますか?

+4

はGoogleが壊れていますか?私のdownvoteではありませんBTW –

+1

チェックアウト[ミックスインルビー](http://www.tutorialspruer.com/ruby/ruby_modules.htm) –

+4

@MitchWheat私は正式な答えが必要です、私はGoogleを見なければならない私はサイトが必要ないlike stackoverflow.com。あなたが答える気が気にならないでください。 – Joe

答えて

26

いいえ、Rubyには複数の継承がありません。 Rubyにも同様のものがあります:mixins。ミックスインはない多重継承しているが、その代わりに、ほとんどそれのための必要性を排除

module M; end 
module N; end 

class C 
    include M 
    include N 
end 

C.ancestors #=> [C, N, M, Object, Kernel, BasicObject] 

注:たとえば。

+0

はRubyの「インタフェースを実装する」というJavaの単一の継承と同様のmixinを使った単一継承の方法ですか? –

+0

@太極人無極而生並べ替えの。 Javaクラスは、Rubyクラスに多数のモジュールを含めることができるように、いくつかのインタフェースを実装できます。しかし、Javaインタフェースは実装がなく、抽象メソッドのみを持ちますが、Rubyには抽象メソッドの概念がなく、モジュールには実装が含まれています。 –

+0

@AndrewMarshall Java 8では、インターフェイスに実装することができます(デフォルト)。 –