TC官方合作论坛

标题: 空间的理解 [打印本页]

作者: Abin    时间: 2013-9-10 11:55
标题: 空间的理解
命名空间就相当于一个名称,命名空间里面包含的是函数定义和全局变量的定义,如果在不同名称的命名空间中有相同的函数名,则表示的是不同的含义,但是同一个命名空间中,不能有相同的全局变量名和函数名。
一个.t文件里可以包含多个空间的定义,也可以一个空间一个.t源文件,而所有的功能调用都是通过"空间名.功能名"进行调用的。

(关键字中英文对应关系, 空间 - namespace 空间结束 - endnamaspace)
注意:
1、空间与空间结束 这2个关键字一定要对应。
2、一个项目里,不能出现相同的空间名,否则会编译报错。
3、相同的功能名可以出现在不同的空间里,但是不能出现在同一空间里。
4、空间里不能嵌套空间的定义。


举例:1、单空间的写法
  1. 空间 我的程序 // 定义了一个我的程序的空间
  2. 功能 测试()   
  3.   //定义一个名为测试,返回类型为 的函数
  4.   辅助.消息框("调用测试函数成功!")
  5. 功能结束

  6. 功能 执行()   
  7.   我的程序.测试() // 调用自定义的测试方法,使用"空间名.功能名"格式
  8. 功能结束
  9. 空间结束
复制代码

2:多空间的写法
  1. //空间A.t
  2. 空间 空间A         
  3. //定义一个命名空间
  4. 功能 测试A()     
  5. //定义一个名为测试A,返回类型为 的函数
  6.   辅助.消息框("这是空间A,的测试A方法")
  7. //调用系统支持的辅助空间里的消息框函数
  8. 功能结束

  9. 空间结束
复制代码
  1. //空间B.t
  2. 空间 空间B      
  3. //定义一个命名空间
  4. 功能 测试A()
  5. //定义一个名为测试A,返回类型为 的函数
  6.   辅助.消息框("这是空间B,的测试A方法")
  7. //调用系统支持的辅助空间里的消息框函数
  8. 功能结束

  9. 空间结束
复制代码
  1. //测试.t
  2. #include "空间A.t"
  3. //因为我们需要访问我的程序A空间里的测试A函数.所以需要用#include语句包含它所在的源代码,
  4. #include "空间B.t"
  5. //如果是调用系统支持的空间里的API,则不用使用#include语句
  6. 空间 我的程序
  7. 功能 开始_点击()
  8.   空间A.测试A()     
  9.   空间B.测试A()
  10. 功能结束

  11. 空间结束
复制代码

多空间一般是在需要把自己的一些功能独立封装到一个空间时使用比如一个打怪操作,它包括了:找怪功能、判断怪物是否死亡、拾取物品等等功能,那么我们可以把这一系列和打怪相关的功能封装到打怪挂机这样的一个空间里把一系列和跑城相关的操作封装到跑城空间里,把一系列和采集相关的操作封装到采集空间里这样我们就有很多个空间了,每个空间都封装了相应的功能,那么以后那个操作出现问题,就直接查看相应的空间,这样就加快了解决问题的速度。



作者: luomeng184    时间: 2013-9-25 21:15
对顶了,说的很想下,呵呵
作者: chiniatonglian    时间: 2014-1-4 14:44

作者: chaoui    时间: 2014-1-12 21:32
简直看不懂
作者: slz336    时间: 2014-8-26 13:29
感谢楼主分享这么好的教程




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1