溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Ruby 反射和內(nèi)省

發(fā)布時(shí)間:2020-05-29 22:36:49 來源:網(wǎng)絡(luò) 閱讀:1194 作者:yangbin1103 欄目:編程語言

反射(Reflection),何為反射,反射就是把自己的內(nèi)部成員(屬性 方法),映射成為響應(yīng)的類對(duì)象。 

   一個(gè)Person類對(duì)象tom,他們可以利用tom拿到當(dāng)前的類,可以拿到tom的內(nèi)部成員像是年齡 出生日期 家庭住址這些對(duì)象的類

內(nèi)?。↖nspection),何為內(nèi)省,看英文名字inspection,意思為檢查,反省的意思,所以顧名思義,就是可以檢測(cè)自己屬于什么類,自己有沒有某個(gè)方法,自己的父類是誰。

◆:一個(gè)ruby對(duì)象o 的內(nèi)省

1:得到自己的object id:  o.object_id

2:檢測(cè)自己的類型 inspect type:  [].class == Array

3:檢測(cè)自己的類:inspect class:  o.class == Foo   o.instance_of?(Foo)

4:檢測(cè)類的繼承:inspect class hierarchy:  o.class.superclass   o.class.included_modules

5:檢測(cè)自己是否擁有某個(gè)方法:  o.respond_to?("reverse")

向AI問一下細(xì)節(jié)
AI