赞 | 13 |
VIP | 118 |
好人卡 | 28 |
积分 | 12 |
经验 | 35779 |
最后登录 | 2017-7-6 |
在线时间 | 1564 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1195
- 在线时间
- 1564 小时
- 注册时间
- 2008-7-30
- 帖子
- 4418
|
本帖最后由 DeathKing 于 2010-7-22 16:38 编辑
- irb(main):001:0> class A;def a; puts 1;end; alias :c :a;end
- => nil
- irb(main):002:0> class B<A
- irb(main):003:1> def b
- irb(main):004:2> puts 2
- irb(main):005:2> end
- irb(main):006:1> puts respond_to? :c
- irb(main):007:1> puts respond_to? :a
- irb(main):008:1> end
- false
- false
- => nil
- irb(main):009:0> B.superclass
- => A
复制代码 不知道是不是因为Ruby 1.9.1的缘故 - -
ri Module#respond_to?
获取帮助(respond_to? 属于元编程(反射机制)的范畴,获取是否可以使用从父类继承的方法。)
我唯一可以说的是,可能Ruby 1.9.1对alias做了手脚,alias方法后,子类就不能使用从父类继承的方法了?但是实例却可以调用? |
|