设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2754|回复: 4
打印 上一主题 下一主题

[已经解决] [脚本初学]Super是什么?干什么用的?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
100
在线时间
211 小时
注册时间
2011-8-16
帖子
300
跳转到指定楼层
1
 楼主| 发表于 2013-2-8 14:21:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
脚本中很常见这个词 但是又不知道具体含义....请各大神明示。
RPGMaker 脚本/学习交流群:143356012
头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

来自 2楼
发表于 2013-2-8 15:06:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

3
发表于 2013-2-8 15:03:17 | 只看该作者
本帖最后由 Sion 于 2013-2-8 15:06 编辑

方法的重载超类中已定义的方法在子类中再次被定义称为重载。在子类方法中调用超类相同方法的情况下,要使用关键词 super。
  1. class Hahaha
  2.   def laugh(x)
  3.     return "哈" * x
  4.   end
  5. end

  6. class Wahaha < Hahaha
  7.   def laugh(x)
  8.     return "哇" + super
  9.   end
  10. end

  11. man = Wahaha.new
  12. p man.laugh(4)      # => "哇哈哈哈哈"
复制代码
上述示例是,对新建实例调用 Wahaha 类的 laugh 方法,其中 super 能调用其超类 Hahaha 类的 laugh 方法。那么,最后一行调用 laugh 方法可以理解为 "哇" + "哈" * 4,于是输出结果就为 "哇哈哈哈哈"。

以上内容完全引用自 F1 {:2_259:} 使用此脚本造成的任何后果,本人概不承担任何责任

评分

参与人数 1星屑 +30 收起 理由
Luciffer + 30 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
4
发表于 2013-2-8 19:34:38 | 只看该作者
ls都说得很清楚了,再补充一点吧- -b
特殊类的super就是其元类
  1. class A
  2. def says(sth)
  3.   p "watashi ha #{sth}"
  4. end
  5. end
  6. object = A.new
  7. class << object
  8. def says(sth)
  9.    super
  10. end
  11. end
  12. object.says("huaka") #=> "watashi ha huaka"
复制代码
另外,注意super会将传入方法的参数原封不动地传给父类同名方法,如果遇到父类参数不同的情况,务必写明参数,例如父类方法没有参数,但子类有
必须写成super()而非super

评分

参与人数 1星屑 +50 收起 理由
Luciffer + 50 我很赞同

查看全部评分

好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
211 小时
注册时间
2011-8-16
帖子
300
5
 楼主| 发表于 2013-2-9 21:01:21 | 只看该作者
多谢各位...by the way
祝各位新年快乐
RPGMaker 脚本/学习交流群:143356012
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-22 19:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表