我有一个名为
Base
的超类和一堆派生类,例如Base::Number
、Base::Color
等。我想能够像使用Fixnum
那样使用这些子类,比如在Number
的情况下。
最好的方法是什么?同时仍然要让它们适当地响应is_a? Base
吗?
因此,我应该能够执行以下操作:
Number.new(5) + Number.new(6) # => 11
Number.new.is_a? Base # => true
我在考虑是否可以混入Base,并覆盖is_a?,kind_of?和instance_of?方法,但希望有更简洁的方法。
world = Stringy.new("World")
- rampion