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

Project1

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

[初学语法问题]RGSS中怎么复制另一个类的方法?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
帖子
85
跳转到指定楼层
1
发表于 2009-5-13 19:28:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想在一个类之下复制并引用另一个类中的方法,但不想写重复代码,请问语句上应该怎样写?

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
2
发表于 2009-5-13 19:29:57 | 只看该作者
class 你的类 < 你想要复制的类
end

这就是所谓的儿子从老子那儿继承了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
帖子
85
3
 楼主| 发表于 2009-5-13 19:32:40 | 只看该作者
额,不是整个类的继承,我只要引用其中的一个函数就可以了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
4
发表于 2009-5-13 20:53:57 | 只看该作者
……两个没有继承关系的类之间,各自的成员是具有封装性质的,在一个类的非静态上下文中要引用另一个类的非静态方法,可以先建立一个该类的对象,然后通过这个对象来引用该方法~
也可以在想要引用的方法的类中建立一个静态的单例,这样就不需要在非静态上下文中每次都建立对象了

不继承、不建立对象的话,要引用其它类中的方法不太现实,因为非静态的内容在对象建立前是不会执行的,而在静态的上下文中又无法去引用非静态的内容(比如类方法中无法获取类的实例方法),除非你想引用的方法是一个静态的类方法,这样就能直接通过类名来调用

Ruby 中应该也没有类似 C++ 友元的机制……

如果是一个模块中的成员方法,你可以通过 include 来混入一个类中,但这实际上还是让类继承自一个匿名的父类……
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
帖子
85
5
 楼主| 发表于 2009-5-13 21:07:07 | 只看该作者
那如果是静态的方法,应该如何引用呢?

话说,静态方法和非静态方法如何区分?是不是看有没有建立实例?
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

6
发表于 2009-5-13 21:08:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
帖子
85
7
 楼主| 发表于 2009-5-13 21:19:12 | 只看该作者
谢谢两位!我弄明白了~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
8
发表于 2009-5-13 21:23:42 | 只看该作者
同沉影说的,Ruby 的类本身也是一个 Class 对象,这个类就是典型的单例类,当用 class Name..end 建立了一个类之后就会把这个对象保存到类名的全局常量中~
Class 类里面保存的就是关于类的一些静态信息

至于区分,你看方法声明的地方就知道了,非静态的方法直接 def methodName,静态的方法则是:def self.methodName 或者 def 类名.methodName
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

9
发表于 2009-5-13 21:35:23 | 只看该作者
其实最简单的方法是ctrl+c 然后ctrl+v  -v-











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 21:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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