查看: 3540|回复: 14

关于方法重载(2卡)

  [复制链接]

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2008-2-20 00:27:20 | 显示全部楼层 |阅读模式

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

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

×
好吧……我承认我又把别的语言的概念搬过来了……{/gg}
关于“重载”,是指允许同一个事件名称而拥有不同参数的多态性。
举个例子:Bitmap有2个initialize方法:
def initialize(filename)
def initialize(width, height)
请问在RGSS2当中,有没有合适的方法实现方法的重载(即定义一个同名方法而又不覆盖掉原来的方法)呢?

如果实在不行,告诉我怎样做可选参数也可以。

版务信息:本贴由楼主自主结贴~
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
回帖
1260

贵宾

发表于 2008-2-20 00:30:19 | 显示全部楼层
具体看F1.
def initialize(*args)
  if args.size == 2
    width, height = args
  else
    filename = args[0]
  end
end
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
-.-
回复

使用道具 举报

梦石
0
星屑
50
在线时间
12 小时
注册时间
2006-5-21
回帖
731
发表于 2008-2-20 00:31:13 | 显示全部楼层
定义同名方法不是对原方法的补充吗?
我脚本学的不好...{/hx}
MadniMStudio|Beside
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 2008-2-20 00:32:21 | 显示全部楼层
话说F1里有这么一段,。不知道是否是LZ要的


方法的重载父类中已定义的方法在子类中再次被定义称为重载。在子类方法中调用父类相同方法的情况下,要使用关键词 super。

class Hahaha
  def laugh(x)
    return "哈" * x
  end
end

class Wahaha < Hahaha
  def laugh(x)
    return "哇" + super
  end
end

man = Wahaha.new
p man.laugh(4)      # => "哇哈哈哈哈"

上述示例是,对新建实例调用 Wahaha 类的 laugh 方法,其中 super 能调用其父类 Hahaha 类的 laugh 方法。那么,最后一行调用 laugh 方法可以理解为 "哇" + "哈" * 4,于是输出结果就为 "哇哈哈哈哈"。
回复

使用道具 举报

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
回帖
1260

贵宾

发表于 2008-2-20 00:32:27 | 显示全部楼层
不..他大概说的是`根据参数不同调用不同的函数吧``
-.-
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

 楼主| 发表于 2008-2-20 00:32:29 | 显示全部楼层
先对于神思的解答认50%,还有50%请解释一下*的含义,谢谢。
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 2008-2-20 00:35:08 | 显示全部楼层
哦,原来,胡说我也不懂那个 * 的意思

莫非是指针=。=呵呵
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

 楼主| 发表于 2008-2-20 00:36:35 | 显示全部楼层
以下引用幻の飞鱼于2008-2-19 16:35:08的发言:

哦,原来,胡说我也不懂那个 * 的意思

莫非是指针=。=呵呵

指针那是C的概念=v=,不过难道是组成了一个数组,合在一起?RGSS的半类型编程让我很不爽= =
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
回帖
1019
发表于 2008-2-20 00:40:37 | 显示全部楼层
以下引用IamI于2008-2-19 16:36:35的发言:


以下引用幻の飞鱼于2008-2-19 16:35:08的发言:

哦,原来,胡说我也不懂那个 * 的意思

莫非是指针=。=呵呵


指针那是C的概念=v=,不过难道是组成了一个数组,合在一起?RGSS的半类型编程让我很不爽= =


我说着玩呢,我倒觉得RUBY挺爽的呵呵
我不爽于C的很多细节,比如“{”这个=。=
不如END来的舒服
回复

使用道具 举报

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
回帖
6429

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

发表于 2008-2-20 00:42:43 | 显示全部楼层
end是basic系的特点之一 -v-
虽然ruby不是basic系。。。。。。
其实我喜欢写{}。。。看起来清楚一点
写end容易对不整齐,好吧我承认我跑题了。。。。*那个的确不清楚。。。。ruby木指针概念-v-
神隐中,偶尔诈尸
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部