Project1
标题:
变量问题
[打印本页]
作者:
490832999
时间:
2013-7-7 12:12
标题:
变量问题
本帖最后由 490832999 于 2013-7-7 12:14 编辑
例子
class Game_Battler < Game_BattlerBase
def ob_type
if @enemy_id != nil
return "怪物"
else
return "角色"
end
end
end
Game_Battler与Game_BattlerBase中是没有 @actor_id 与 @enemy_id 变量的
而 Game_Actor 与 Game_Enemy 是它的子类,才拥有其一变量
我是这样想的,只有子类能继承父类的所有实例变量与方法,而父类不能继承子类。但这里Game_Battler中根本没有@actor_id 与 @enemy_id,而是在它的子类中,这两个变量是从它的子类来的吗?还是从其他地方来的?
作者:
Sion
时间:
2013-7-7 12:33
实例变量不能继承啊,它跟类不是一个概念,是每个实例特有的。
只能通过对实例调用该类某个特定的方法,去改变实例里的实例变量。
作者:
490832999
时间:
2013-7-7 18:08
Sion 发表于 2013-7-7 12:33
实例变量不能继承啊,它跟类不是一个概念,是每个实例特有的。
只能通过对实例调用该类某个特定的方法,去 ...
好像搞懂了
是Game_Actor 与 Game_Enemy的实例调用了Game_Battler 的方法
然而Game_Actor 与 Game_Enemy的实例本来就有@actor_id 或 @emeny_id 这个实例变量
是吧?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1