《ruby元编程》读后感

《ruby元编程》读后感
这本书我常常读,也属于枕边书之一。还有一本《perl高阶编程》也很经典,可惜我看不懂。而这本ruby界的经典书,没有深奥的算法,采用的风格我很喜欢,而且我也迷上了面向对象编程,每多读一次,就有一次的收获。
前天看了minitest这个gem的源码,我在想,我再读哪个gem呢,其实很多gem,我也不知道它们的用途,那干脆就把这本书中出现的gem的最早版本的源本都读一次吧。
我现在才明白,原来学编程,就象学写作,如果不海量阅读,写不出东西。那编程也一样,只有海量阅读,才会写。
所以,学会读了,也就不害怕源码了。以前学计算机总有一种在高空中飞行的感觉,为什么程序能运行,其实自己不知道。就象迷信一样,不可思议的事情就是发生了。
但读了源码,心里就踏实了,原来,这不是魔法。
比如,在java或C++中,私有方法是别人用不了的。但在ruby中,父类的私有方法,子类可以用。但用的时候不能带调用者。

class Fu
    private:
        def hello
            puts "ok"
        end
end
class Zi < Fu
    hello()
end
看到没,在子类是可以用父类的私有方法的。
我原来读书时,很少看正文之外的注释呀等内容,但这本书里正文之外的内容真值得好好看。
而且读这本书,能颠覆自己对类的认识。我们认为类是模型,而对象的模型的实例化。正如蛋糕的模型和蛋糕本身是不同的。但在ruby中,类也是对象,而对象的方法是存储在对象的类里面的。
比如对象调某个方法,先在自己的类中找,找不到,再在类的父亲类中找,一直找到为止。
我没看ruby源码,但我想,肯定这是把类的继承关系事先做好,再利用设计模式中的责任链之类模式处理。
不过,一个类调用superclass和class究竟有何不同呢?
我原来读书时,就拼命想把书看完,现在呢,就不急了,慢慢领悟,慢慢体会。慢慢思考。
《ruby元编程》是能引发我思考的一本书。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值