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

Project1

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

[已经过期] 关于类的重新定义的问题

[复制链接]

Lv1.梦旅人

幻想天神

梦石
0
星屑
55
在线时间
166 小时
注册时间
2012-3-24
帖子
404
跳转到指定楼层
1
发表于 2014-4-5 19:21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
class A
xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
end

然后写 class A
                    aaaaaaaaaaaaaa
             end

是覆盖原来的,还是加上新的?

Lv2.观梦者

故九江太守

梦石
0
星屑
618
在线时间
2166 小时
注册时间
2012-12-5
帖子
4464
2
发表于 2014-4-5 19:47:31 | 只看该作者
貌似是加上新的。。自己试试不就行了么啊
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2014-4-5 19:57:08 | 只看该作者
本帖最后由 taroxd 于 2014-4-30 20:21 编辑

加上新的,但是同名方法会覆盖原来的方法。
要完全重写类,可以用Object.send(:remove_const, :ClassName)来完成

评分

参与人数 1星屑 +150 收起 理由
myownroc + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

4
发表于 2014-4-5 20:24:56 | 只看该作者
本帖最后由 天地有正气 于 2014-4-5 20:26 编辑

举个例子吧:
  1. class Rpglt
  2. end
复制代码
然后
  1. class rpglt
  2.   attr_accessor :hp
  3. end
复制代码
之后在
  1. class Rpglt
  2.   attr_accessor :sp
  3. end
复制代码
这两个实例变量都存在了。
如果
  1. class Rpglt
  2.   def xz
  3.     p "I'm XiaoZhou."
  4.   end
  5. end
复制代码
之后在
  1. class Rpglt
  2.   def aa
  3.     p "啊啊"
  4.   end
  5. end
复制代码
aa和xz两个方法都存在。

接下来
  1. class Rpglt
  2.   def xz
  3.     p "I'm TianDiYouZhengQi."
  4.   end
  5. end
复制代码
此时方法xz已经变成了显示“我是天地有正气。”

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 14:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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