您好,登錄后才能下訂單哦!
反射(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")
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。