这是一个基于命名的面向对象框架,实现静态类、实例类、类继承;字段、方法;私有、公有;
方法调用方式模仿高级面向对象语言,希望为你节省编码时间;使用时请务必遵守命名约定
批处理类定义约定:
1.(1)普通环境变量则不加任何前缀的正常命名;
(2)普通标签函数以“#FunctionName”格式来命名;
(3)普通标签函数内部临时变量以“_VarName”格式命名,注意是单下划线;
(4)类以“@ClassName”格式命名;
(5)类成员中标签函数成员以“ClassName.MethodName”格式命名;
(6)类的所有标签函数临时变量以“__VarName”格式命名,注意是双下划线;
(7)类创建的对象用“$ObjName”格式命名,请传递对象名时带“$”符号;
(8)数组也被视为对象,故请以$ArrayName形式定义;
(9)可作为一个外部调用单位的标签函数(如类函数成员标签函数与普通标签函数)内
部如果还有标签函数,则以MainFuncName_SubFuncName的格式命名,其中
MainFuncName是可作为外部调用主体的标签函数的标签名,这样可以有效的防止
标签访问错误的出现。因为毕竟内部标签函数不是成员,所以不用“.”号。因为如果类
库庞大,那么难免内部标签函数会出现冲突,所以用主标签函数的标签名作前缀
(10)对象只有字段与方法,如果对象的字段也是一个对象,则这个字段请以如下格式
命名:$ObjName.FieldName,即一个对象链上只出现一个“$”符号
(11)类私有方法使用ClassName.__MethodName格式命名,私有方法不与对象绑定
3.数组的数组名$ArrayName.UBound保存数组的最大下标,$ArrayName[n](n为自
然数)保存元素
4.为语法上的简洁及功能的强健计:
(1)所有对象必须先创建,再才可以调用方法,不能一边创建一边调用
(2)创建对象的语法是如下,这样可以传递足量参数,如果需要的话:
Call :@<ClassName> $<ObjName> arg1 arg2 arg3 ...
(3)调用对象方法的语法如下,这样可以传递足量参数,如果需要的话:
Call :%$<ObjName>.<MethodName>% arg1 arg2 arg3 ...
(4)读取对象属性或字段的语法为:
$<ObjName>.<FieldName>
5.本来是要检查对象名合法性的,不过为了更高的效率,所以还是不要这一步,希望使用者
严格遵照命名约定来命名对象;
6.所有实例类都必须有Del方法(删除对象,清除对象数据即方法绑定)、Str方法
(简单地回显对象的字符串表示)、Type属性(简单的保存它所属的类型信息)成员
7.所有的方法如果需要使用返回值,就用$ObjName.MethodName.Return来返回,记得
在方法开始执行时,清除上一次的调用结果
8.总是使用类临时变量__this来接收对象名
9.静态类创建一个与类同名的对象,并将对象与方法绑定,也提供Del方法
因为这是基于命名约定的框架,所以请务必遵照其中的命名约定,尤其是函数标签命名及对象命名
@Array类:提供数组所需的所有功能
@Array:
Type "@Array"
==== ==================
Push 将一个元素添加到数组开头
Insert &nb