9、对象与类
优质
小牛编辑
134浏览
2023-12-01
对象:
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都继承了过来。