范例01:设置成员变量后调用成员方法并返回结果
obj := new classTest();
//设置成员变量name的值为"张三"
invokeinarray(obj,"name",1,array("张三"));
//设置成员变量age的值为18
invokeinarray(obj,"age",1,array(18));
//设置成员变量sid的值为"ts001"
invokeinarray(obj,"sid",1,array("ts001"));
//执行单参数重载成员方法fun
a:=invokeinarray(obj,"fun",0,array("name"));
//执行双参数重载成员方法fun
b:=invokeinarray(obj,"fun",0,array("name","age"));
//执行三参数重载成员方法fun
c:=invokeinarray(obj,"fun",0,array("name","age","studentID"));
return array(a,b,c);
type classTest = class
name;
age;
sID;
function fun(a);overload;
begin
s:= "\r\n"+a+":"+name;
echo s;
return s;
end
function fun(a,b);overload;
begin
s:="\r\n"+a+":"+name+" "+b+":"+floattostr(age);
echo s;
return s;
end
function fun(a,b,c);overload;
begin
s:="\r\n"+a+":"+name+" "+b+":"+floattostr(age)+" "+c+":"+sID;
echo s;
return s;
end
end
打印:
name:张三
name:张三 age:18
name:张三 age:18 studentID:ts001返回:
范例02:命名参数调用的方式
//调用
obj:=new classTestB();
return invokeinarray(obj,"fun",0,array("c":3,"b":2,"a":1));//命名参数的调用
//类实现
type classTestB= class
function fun(a,b,c);overload;
begin
return array(a,b,c);
end
end;
返回:array(1,2,3)
Invoke