TC官方合作论坛

 找回密码
 立即注册
查看: 1698|回复: 0

建议。关于命名空间的建议。

[复制链接]
发表于 2017-5-22 12:11:08 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 剑仙十号 于 2017-5-24 19:35 编辑

tc简单开发。命名空间的使用价值。

VC++ ,命名空间的使用:
using namespace std;
tc简单开发,命名空间的写法:
空间 - namespace
  //
空间结束 - endnamaspace

———————————————————————
在tc4.331中,命名空间的定义。
右键"项目管理",新建一个“classB.t”源文件

空间 mysp2 //定义一个命名空间,名字叫mysp2,再往里面写函数。

功能 int 开始_点击() //返回值是 int类型.
int a1
string str
a1=10
str=转换.整型转字符型(a1) //int转string
辅助.消息框(str)
return 0
功能结束
功能 myfun()
辅助.消息框("这是空间2的子函数,myfun。")
功能结束

空间结束
———————————————————————

先提个问题:
在"主体框架.t" 源文件,mysp0空间的子函数中,
怎样调用"classB.t" 源文件,mysp2空间的子函数?

知识准备1:
第一个例程:C语言,库文件的引用。
这个例程是C语言之父,在自己的那本黑皮书里写的,程序后来也成为了很多人学习新语言的第一个程序(hello world)。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
         printf(“hello world \n”);
         return 0;
}
第一:#include <****.h>
在程序开头,声明使用到的函数库。tc4.331也有这东西,就是引用。
在VC++中,别人写好的东西叫做库(library)。库文件,在Delphi中叫单元,易语言中叫程序集。
如果要使用库里面的函数,就先得声明,告诉编译器这个库的信息。#include指令,就是这个作用。
第一行引用了stdio (std input/output )的信息,stdio是库名称。
那些被引用的函数,是存储在一个叫stdio.h的文件里面的,这种以.h为后缀的文件叫做头文件。是接口的概念。
———————————————————————
这里必须解释,常用的头文件:
<stdio.h>
---指工作台
<windows.h>
----指调用系统文件命令。就是系统api。
<math.h>
----指调用数学函数
如pow(x,3);
=====x^3;
这些都是库文件。
———————————————————————
#include <stdio.h>
意思是引入stdio.h这个库文件,库文件保存在c-free5.0专业版 的安装目录。
引入这个库,因为我们要调用库文件里面的printf()函数。
=======================================================



知识准备2:
在tc中,
.t 源文件,理解成项目中的房间。
源文件的命名空间,理解成房间的第二标签。

在命名空间里面,可以封装变量,数组,子函数,流程控制等东西。
.
做一个项目,往往需要建几个“**.t”源文件。如"classA.t","classB.t","classC.t","classD.t"。再往这些"class某某.t"里面封装函数。
如果是团队合作,四位队员,每人负责一个“class某某.t”源文件。队长编写 "主体框架.t”源文件。
不同的队员,使用不同的函数名字。但一个大项目要使用几十个函数,上百个函数。这些函数名,往往有重复的。
函数名重复,就不能通过编译。
重新改代码,又得多花很多时间。
这样,源文件的命名空间 就应运而生了。
//
命名空间的定义:
建立“**.t”文件之后,不是直接往里面写函数。
而是先定义一个命名空间,再往命名空间里面写函数。
.
队长在"主体框架.t”中  调用这些函数,
先使用 #include "class*.t" 引用源文件,
再使用  空间名::函数名()  调用这些子函数,
保证每位队员所定义的函数名,不重名,不冲突。
.
说白了,命名空间就是在函数前面,多贴一张标签,用来区分重名的函数。
=======================================================



回到刚才的问题:
在"主体框架.t" 源文件的空间 mysp0中,
怎样调用"classB.t" 源文件 的空间 mysp2的子函数?

首先右键"项目管理",新建一个“主体框架.t”源文件
#include "classB.t" //引用"classB.t"
/*
这跟全局变量的定义类似。引用库文件写在空间外面。定义全局变量写在功能外面。
源文件放在VC安装目录的,使用<>;
源文件放在用户目录的,使用 ""
VC文件的后缀使用 .h,tc文件的后缀使用 .t
*/

空间 mysp0
//先定义一个空间.
//再在空间中定义一个子函数.
//在子函数中就能调用 空间 mysp2的子函数了。

功能 开始_点击()
  mysp2.myfun()
功能结束

空间结束
=======================================================

tc的库文件(***.t),和VC++的标准库文件,Delphi7的单元,易语言的程序集,都是一个概念。
tc中“**.t”源文件的命名空间,和VC++标准库的命名空间,也是相同的概念。
tc 4.331的空间,做得不怎样。几个空间糊在一个“**.t”源文件,乱七八糟的。
发展到tc 6.2,在项目管理中,可以新建多个“**.t”源文件。可以把每个命名空间,单独写到一个tc库。这样做起来条条理理,整整齐齐的。但把命名空间删了。
.
tc与按键精灵竞争,一味跟风效仿,迷失了自性。
tc和按键精灵竞争,丢弃自身优势,丢失了靠山VC++。好的东西不保留,真可惜!!
这样做着做着,反倒不如习语言了。
习语言 就能把VC++的优点,保留下来。
更新版本,建议把命名空间做回来,把变量的数据类型做回来。
变量的定义,强制使用英文版的数据类型。
流程控制语句,强制使用英文字母的。
这两样不能中英文互换。
其它部分,做成中英文代码,能够互换的。
这样跟VC保持一致。
=======================================================
TC把命名空间删了,把变量的数据类型删了,大神们用着用着不爽,就会放弃大TC。
TCTC,确实是T人的东西。
会员的流失。人才队伍的流失。
//
建议把命名空间 做回来。
using namespace ***; //建议把这命令也做上去。
只要标上 using namespace ***; ,某某空间的全局变量,子函数就可以直接调用。
不需要再写 空间名::全局变量名,空间名::子函数名()
=======================================================
tc大成群。433286131。
集编程之大成。【项目完毕】

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-28 13:38 , Processed in 0.035749 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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