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

Project1

 找回密码
 注册会员
搜索
楼主: harinlen
打印 上一主题 下一主题

[版务] 【活动】【VA】RGSS 3 入门教程大家写(更新13/02/15)

  [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
311 小时
注册时间
2011-3-4
帖子
238
1
发表于 2012-10-18 12:19:57 | 显示全部楼层
本帖最后由 candy2266 于 2012-10-18 12:21 编辑

实例变量


引用楼上的话:
好了。。下面都是是重点了。。。。。
实例变量主要是用来记录单个对象的状态。
RM实例变量有以下特点:
•以@开头
•只对单个对象可见
•不管在类的任何地方定义,在别的地方使用都是同一个


注意第2条,第2条的意思可以引申为,在别的对象外,若要访问实例变量的话,必需要通过方法访问。

RUBY 代码复制
  1. class Person
  2.     @name="xx君"
  3. end


如果只是在上例子的对象里“参考”@name,这样定义就可以了。
但是如果想从对象外访问它的话,那么就不可以了。
在类下直接定义一个@的实例变量,个人感觉类似于JAVA中的private修饰符,必需用方法访问。

所以若要在外部访问到@name,代码应如下
RUBY 代码复制
  1. class Preson
  2. #下面是从实例中取得@name值的方法
  3.   def name
  4.     @name
  5.   end
  6.  
  7. #下面是给name赋值的方法
  8.   def name=(value)
  9.      @name=value
  10.   end


当然真的直接写在类里变量,我们用的是类变量,这样就可以在外部直接访问到它的值了。
RUBY 代码复制
  1. class Person
  2.     @@name="xx君"  #类变量首字母以@@开头
  3. end





点评

另外类的首字母必须是大写。class test竟然报错了。。。  发表于 2013-2-13 18:06
@@……的意思是 当定义了这个后,其他的类变量也可以访问。我回复一个sample  发表于 2013-2-13 18:01

评分

参与人数 1梦石 +2 收起 理由
Mic_洛洛 + 2 更新奖励!

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-6 23:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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