• ruby-lang上Ruby与Java的对比文章
    时间:2008-10-23   作者:佚名   出处:互联网

    相同点:

    类似于java,在ruby中:

    内存管理都是由GC(garbage collec×)负责。
    都是强类型语言。
    都有public,private,protected的方法可见性之分。
    都有嵌入式文档工具(ruby的叫做RDoc)。rdoc生成的文档看起来非常像由javadoc生成的。

    不同:

    于java不同的是,在ruby中:

    你不必编译代码,你只需要直接运行代码。
    Gui开发包不同。比如,ruby的用户会尝试WxRuby,FXRuby,Ruby-GNOME2,或者基于Ruby Tk库。
    你要在定义任何事物(像class)后面加上关键字end,而不是用花括号({})来包围代码块。
    使用了require代替了import。
    所有的成员变量(属性)都是private级的。在类外访问任何事物要通过方法调用。
    什么都是对象,包括2和3.14159。
    没有静态类型检查。
    变量名都只是标签,它们没有与类型相关。
    不用声明变量类型,你只需要赋值给新的变量名就可以了(例子,a = [1,2,3] 相当于 int[] a = {1,2,3};)。
    没有类型强制转换这个概念,只管调用方法就好了。
    用 foo = Foo.new( “hi”) 取代这样新建对象的方法 Foo foo = new Foo( “hi” )。
    构造方法一直都叫“initialize”,不是和class同名的方法。
    使用“混入” 代替 “接口”。
    YAML 比 XML 更受欢迎。
    这里用nil代替null。
    ==和equals()方法处理方法不同。当你想要测试相等性时就使用 == 操作符(就像Java的equals()方法)。当要想要知道两个对象是否是同一个时就使用equal?()方法(就像Java中的==)。 [点击图片可在新窗口打开]

    网友留言/评论

    我要留言/评论