随笔分类 - Ruby
摘要:多态在Java中是如何定义的?我这样理解:多态需要借助接口来实现,就是所有实现了该特定的接口的类用起来都象他。什么是duck type?在Programming Ruby中这样定义:如果对象能够象鸭子那样行走,象鸭子那样呱呱叫,那么解释器会很高兴的把它当做鸭子来对待的。(Programming Ruby 中文版 P367)一天,我问我一个同事,到底Ruby中有没有多态?得到一个有趣的答复:弱类型的动态语言,没有抽象类,没有接口,你说有没有多态?多态很有用,多态是不是只有静态面向对象语言,如Java/C#等才有呢?当然不是了,多态是OO语言的三大特性之一。而Ruby是纯面向对象的语言,Ruby当
阅读全文
摘要:1. 动态类型静态类型语言也有很不错的功能,比如编译时验证和 IDE 支持。不过根据我的经验,动态类型对于项目启动真的有很大帮助,并且便于进行更改,尤其是在项目的早期到中期这些阶段。为了能够让我能够轻松地继续对象交换,我不需要为新对象创建正式的接口,这点让人很开心。2. Duck Typing(鸭子类型)这只是动态类型的一个有效的扩展。在 Ruby 中,预期能够对字符串对象进行操作的方法并不会检查 is_a?(String)。它们检查对象是否 respond_to?(:to_str),如果是,就接着调用对象的 to_str。与此类似,在 Ruby 中表示路径(Path)的对象能够实现一个 to
阅读全文
浙公网安备 33010602011771号