反射(Reflection),何为反射,反射就是把自己的内部成员(属性 方法),映射成为响应的类对象。
一个Person类对象tom,他们可以利用tom拿到当前的类,可以拿到tom的内部成员像是年龄 出生日期 家庭住址这些对象的类
内省(Inspection),何为内省,看英文名字inspection,意思为检查,反省的意思,所以顾名思义,就是可以检测自己属于什么类,自己有没有某个方法,自己的父类是谁。
◆:一个ruby对象o 的内省
1:得到自己的object id: o.object_id
2:检测自己的类型 inspect type: [].class == Array
3:检测自己的类:inspect class: o.class == Foo o.instance_of?(Foo)
4:检测类的继承:inspect class hierarchy: o.class.superclass o.class.included_modules
5:检测自己是否拥有某个方法: o.respond_to?("reverse")
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。