《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元编程》是能引发我思考的一本书。
《ruby元编程》读后感
最新推荐文章于 2024-07-15 15:03:08 发布