Mehrfach-Vererbung, Typ-Klasse Vererbung in ruby

Bekam ich einen Base Superklasse und eine Reihe von abgeleiteten Klassen, wie Base::Number, Base::Color. Ich möchte in der Lage sein, um diese Kind-Klassen, als wenn ich Sie geerbt von sagen Fixnum im Fall von Number.

Was ist der beste Weg, dies zu tun, während immer noch mit Ihnen angemessen zu reagieren, um is_a? Base ?

So, ich sollte in der Lage sein zu tun

Number.new(5) + Number.new(6) # => 11
Number.new.is_a? Base         # => true

Ich denke, ich könnte mix-in-Basis, und überschreiben Sie die is_a?, kind_of? und instance_of? Methoden, aber hoffentlich gibt es eine sauberere Möglichkeit.

InformationsquelleAutor cloudhead | 2009-07-07
Schreibe einen Kommentar