9、对象与类

原创:夏克  发表时间:2005-6-3 2:04:24  点击次数:215

   
对象: 

ruby是面向对象的语言,至于对象,可以用来表示任何东西,对于我们的脚本系统,任何东西指的是系统提供的任何可以称之为对象的东西,这样的概念很混乱,但总之,记得对象可以表示任何东西。

像整数是Integer对象,浮点数是Float对象,文字是String对象,1..10是Range对象,所有的对象都是属于类的,或者说所有的对象都是由类所产生的。

类:

类和对象的关系,就像是哲学上著名的意识与物质的关系一样。类不是真正存在的,而对象是。类只不过是对某种东西的描述或者规划,而实现了这种描述的就是对象,也叫做类的实例。所以,有时也把声明对象叫做类的实例化。

RGSS参考中列出了所有的类的详细文档。

RGSS参考的翻译将放在《RGSS中级教程》。(夏克注)

类的属性和方法:

属性其实就是类中的一些公共变量,可以被其它类访问到。

方法其实就是类中的一些公共函数,可以被其它类访问到。

例如:

a = "Ruby"
p a.size # => 4 


这返回a的长度,也是字符数。

再一個试看看!把文字都转换为大写。

a = "Ruby"
p a.upcase # => "RUBY" 


如果是下面的代码:

a = 3 
p a.upcase # ERROR!!

 
发生了错误,因为a是integer整数对象,或者说是integer类的,这个类没有upcase方法可以执行。

类的继承:

在RGSS参考中看一下Fixnum类,它处在Integer类的子类中,而Integer处在Numeric子类中,而Numeric处在Object类中。我们把上一级类叫做父类,父类的下一级叫做子类。子类是由父类衍生出来的,所以子类继承了父类的某些属性和方法。

例如,Fixnum就继承了Integer的chr方法。我们观察RGSS参考中的Fixnum一档,它的属性和方法少得可怜,但Integer所有的属性和方法,Fixnum都继承了过来。
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。
 

 

 

版权所有(C) RUBY中文化计划