本帖最后由 「旅」 于 2011-8-17 22:21 编辑
12.深入认识类(难度系数:★★☆☆☆ 容易)
内部类: 先让我们打开RM的F1帮助文件-RGSS参考-标准库-内部类-Object (好长orz)。打开后大家会看到一堆的英文,不要太在意,我们只需先知道下面这几样东西: 类名 | 中文 | 实例 | 01.NilClass | 空的类 | nil | 02.FalseClass | 伪的类 | false | 03.TrueClass | 真的类 | true | 04.Range | 范围 | 1..2 或 1…5 | 05.String | 字符串 | "大家你们好吗" | 06.Integer (父类Numeric) | 整数(整型) | 100 | 07.Float (父类Numeric) | 浮点数 | 100.9999 |
首先我们看到右侧的实例,没错,100、”大家你们好吗”这些都是左边那些类的实例,这点大家要记清楚了。 正因为它们都是实例,按照我们以前学习类时的知识,只要生成了实例,就可以调用类中有定义的方法了。(包括父类中的方法)它的方法我们都可以在帮助文件中找到,例如, - a = -999 # 生成整数的实例,并代入a
- p a.abs # 显示999
复制代码这里的abs是整数Integer的父类Numeric里的一个方法,它可以取得数的绝对值(也就是会把负数变正数,而正数不变)。
我们再来试试String里的方法,这里我们用它的最后一个方法upcase(将所有字母都变为大写形式), - a = "我来自66rpg"
- p a.upcase # 显示"我来自66RPG"
复制代码不出我们所料,测试很成功~! 另外,细心的同学应该发现了一个问题,字符串类里面有分upcase和upcase!两种方法,他们都可以返回字母改为大写形式后的字符串,但是…… - a = "我来自66rpg"
- p a.upcase # 显示"我来自66RPG"
- p a # ——>还是"我来自66rpg"
复制代码- a = "我来自66rpg"
- p a.upcase! # 显示"我来自66RPG"
- p a # ——>变成了"我来自66RPG"
复制代码(注意范例的大小写)也就是带有!的方法,会真正地永远地改变实例的内容。
大家可以自己再试试这几个类中的其他方法,有一些看不明白的方法可以无视(因为制作游戏的话几乎没有接触那些东西),而有一些重要的我以后也会讲到。好了这节课就到这了^-^ |