#scp
#scpeng
//L脚本语言的类没有复杂的特性,仅包含类成员变量和类成员函数
//在这里类的使用可以实现名字空间的隔离,便于代码的组织
//这里没有C++语言的多重继承、虚函数、重载等概念
//L脚本语言中类的成员变量和成员函数默认为私有访问
define:class,algorithm
public:
define:string,name,"alg"
define:function,pub1,param1
pri1(param1)
end
private:
define:string,age,"10"
define:function,pri1,param2
(param2+age).show()
end
end
define:algorithm,calc
#calc.name.show()
#define:string,s1,"SOS"
#(s1+=calc.name).show()
#calc.name.show()
#calc.age.show()
calc.pub1("abc")
#scp
#scpeng
//定义了一个空类,这个类没有成员变量、也没有成员函数
define:class,algorithm
end
//定义了algorithm类的一个实例calc
define:algorithm,calc
define:function,add,x,y
return(x+y)
end
define:function,sub,x,y
return (x-y)
end
define:function,mul,x,y
return (x*y)
end
define:function,div,x,y
return (x/y)
end
//通过+=运算将函数添加为calc的成员函数
//在这里可以理解为将新的函数添加到类的名字空间
//动态添加的成员函数为公开访问权限
calc+=add
calc+=sub
calc+=mul
calc+=div
calc.show()
calc.add(1,1)
define:int,ret
ret = calc.div(100,calc.add(2+3,1+4))
ret.show()
https://github.com/zhaoliangcn/LScript
L脚本语言和编译器开发QQ群: 192019254