如果class C < B
和class B < A
是否有命令知道 C 继承了 B 继承了 A?
你在找这个吗?
class A; end
class B < A; end
class C < B; end
C.ancestors # => [C, B, A, Object, Kernel, BasicObject]
class A; end
class B < A; end
class C < B; end
C.superclass # => B
C.superclass.superclass # => A
你可以is_a?
用来测试一个对象是否继承自一个类。
class A
end
class B < A
end
b = B.new
b.is_a? B # true
b.is_a? A # true