2012-12-15 17 views
10

Ruby birden çok sınıftan miras alabilmem için çoklu mirasını destekliyor mu.Ruby birden çok kalıtımını destekliyor mu

+4

google bozuktur? benim downvote BTW –

+1

ödeme [Mixins in Ruby] (http://www.tutorialspoint.com/ruby/ruby_modules.htm) –

+4

@MitchWheat Yetkili cevaplara ihtiyacım var, Google'a bakmam gerekirse bir siteye ihtiyacım olmaz stackoverflow.com gibi. Cevap vermek istemiyorsanız lütfen çekinmeyin. – Joe

cevap

26

Hayır, Ruby'nin birden fazla devralma yok. Ruby de benzer bir şeye sahiptir: mixins. Katmalar değil çoklu kalıtım, ancak bunun yerine çoğunlukla bunun için ihtiyacı ortadan

module M; end 
module N; end 

class C 
    include M 
    include N 
end 

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

Not: Örneğin.

+0

, Ruby'nin tek bir devralma yöntemidir ve Java'nın tek arabirimiyle "Arabirim uygulayarak" benzer bir karışımdır. –

+0

@ 太極 者 無極 而 生 Sıralama. Bir Java sınıfı, bir Ruby sınıfının birçok modül içerebileceği şekilde çeşitli arabirimleri uygulayabilir. Ancak Java arayüzünün hiçbir uygulaması yoktur, sadece soyut yöntemler vardır, oysa Ruby'nin soyut metodlar ve modüller arasında bir konsepti yoktur. –

+0

@AndrewMarshall Java 8 ile arayüzlerde (varsayılan) uygulama yapabilirsiniz. –

İlgili konular