Ich habe eine Base
Superklasse und eine Reihe von abgeleiteten Klassen, wie Base::Number
, Base::Color
. Ich würde gerne in der Lage sein, diese Kind Klassen zu verwenden, als ob ich sie geerbt hätte von Fixnum
im Fall von Number
.Vererbung der Klassenvererbung in Ruby
Was ist der beste Weg, dies zu tun, während sie immer noch angemessen auf is_a? Base
reagieren?
So sollte ich in der Lage sein
Number.new(5) + Number.new(6) # => 11
Number.new.is_a? Base # => true
zu tun, ich denke, ich Basis in Mischen konnte, und überschreiben die is_a ?, kind_of? und instance_of? Methoden, aber hoffentlich gibt es einen saubereren Weg.
oh wow, ich wusste nicht, is_a? reagierte für Mixins "wahr", und es funktioniert sogar, wenn das enthaltene Modul ein anderes Modul enthält! Ich werde das dann wohl nutzen, anstatt weiterleiten zu können. Vielen Dank! – cloudhead
Tippfehler: sollte 'world = Stringy.new (" Welt ") sein – rampion