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

Project1

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

关于方法重载(2卡)

 关闭 [复制链接]

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

跳转到指定楼层
1
发表于 2008-2-20 00:27:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

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

Lv1.梦旅人

彩色的银子

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

贵宾

2
发表于 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感谢您的热情解答~
-.-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2006-5-21
帖子
773
3
发表于 2008-2-20 00:31:13 | 只看该作者
定义同名方法不是对原方法的补充吗?
我脚本学的不好...{/hx}
MadniMStudio|Beside
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
4
发表于 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,于是输出结果就为 "哇哈哈哈哈"。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

彩色的银子

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

贵宾

5
发表于 2008-2-20 00:32:27 | 只看该作者
不..他大概说的是`根据参数不同调用不同的函数吧``
-.-
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

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

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
7
发表于 2008-2-20 00:35:08 | 只看该作者
哦,原来,胡说我也不懂那个 * 的意思

莫非是指针=。=呵呵
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

8
 楼主| 发表于 2008-2-20 00:36:35 | 只看该作者
以下引用幻の飞鱼于2008-2-19 16:35:08的发言:

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

莫非是指针=。=呵呵

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

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
9
发表于 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来的舒服
回复 支持 反对

使用道具 举报

Lv1.梦旅人

有事烧纸

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

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

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 07:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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