跳到主要内容
版本:release

component

component是组件的, 一个类作为,另外一个类的补充.

主类可以调用组件类的public函数和protected函数.

可以在组件类声明虚函数, 然后在主类中实现该函数, 在主类中可以可以通过base来调用组件类的虚函数实现.

PS: 不存在纯虚函数

简单例子

bar.gs

string world = "world";

public string bar()
{
return "World";
}

string bar1()
{
return "World";
}

private string bar2()
{
return "World";
}

protected string bar3()
{
return "World";
}

public virtual string foo_bar()
{
write ("bar\n");
}

foo.gs
component  .bar;
public string foo()
{
return "Hello ";
}

public override void bar.foo_bar()
{
write(foo());
base.foo_bar(); // 调用 bar.gs中的实现
}

write(foo(), bar());

foo_bar(); // 输出 Hello World

// bar1(); // error, 默认函数为private
// bar.bar2(); // error, 无法访问private函数
bar.bar3(); // OK, 可以访问protected函数
// bar.world; // error, 不可以访问其他脚本中的成员变量

component路径

component的路径和import完全一致.