【发布时间】:2010-11-08 20:55:19
【问题描述】:
我有一个Base 超类和一堆派生类,例如Base::Number、Base::Color。在Number 的情况下,我希望能够使用这些子类,就好像它们是从Fixnum 继承的一样。
最好的方法是什么,同时仍然让他们适当地回复is_a? Base?
所以,我应该可以做到
Number.new(5) + Number.new(6) # => 11
Number.new.is_a? Base # => true
我想我可以混入 Base 并覆盖 is_a?, kind_of?和instance_of?方法,但希望有更清洁的方法。
【问题讨论】:
标签: ruby oop inheritance