Project1
标题:
alias 新函数名 旧函数名 看不懂
[打印本页]
作者:
825256699
时间:
2013-4-23 09:35
标题:
alias 新函数名 旧函数名 看不懂
谁能给我解释下刚才在从0开始学RGSS2中看到了这一步就看不出懂了.
作者:
825256699
时间:
2013-4-23 10:20
lairen a
作者:
DeathKing
时间:
2013-4-26 13:12
怎么说呢?alias的最直接作用就是“给方法取别名”了(当然也可以给变量)。譬如下面的左图,x指代了某种东西,那么我们给x取别名y,那么用y也可以访问到同样的东西了。
pic1.png
(13.63 KB, 下载次数: 14)
下载附件
保存到相册
2013-4-26 13:11 上传
那alias究竟有什么实际的用处呢?这个通常体现在对方法的应用上。假设有一个叫作“old”的方法,我们想向old中添加新的代码。这时候就遇到了两个困难:
我们不知道何处也调用了这个old方法,所以我们不能简单的新定义一个方法来添加内容。
old方法对我们来说是个黑盒(Black Box),我们在运行时(Runtime)我们没有简单的方法将其内部定义给抽取出来。
所以,就用到了给方法取别名的技术,就像下图这样:
pic2.png
(25.54 KB, 下载次数: 18)
下载附件
保存到相册
2013-4-26 13:11 上传
我们给这个叫old的方法取了一个叫new的别名,这两者都指代的是同一个方法。然后重新定义old,意思将old与另外一个东西关联起来,而不是去修改old关联的东西。将old定义为什么呢?就是之前那个old方法,由于“old”这个名字不再指代那个方法了,所以我们就用它的别名“new”来指代。这个新定义的东西,对我们来说是开放的,所以我们可以为它添加东西。
这样,其它地方如果调用了old,也能享受我们定义的新内容所带来的福利。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1