Class的使用要继承于Interface或者Mixin class.Mixinclass实际上就是类似于抽象类 ,它已经实现的,在子类里面不能实现,类似如下代码:

  

interface AInterface
{
void DoSomething1();
void DoSomething2();
}
//如果不用mixin 那么必须实现该接口的所有函数
mixin class ABase : AInterface
{ void DoSomething1(){ print("DoSomething1 from ABase\r\n");}
int data= 1;
} class AChild : ABase
{
//下面这一行如果实现会覆盖mixin类的函数
//void DoSomething1(){ print("DoSomething1 from AChild\r\n");}
void DoSomething2(){ print("DoSomething2 from AChild\r\n");}
}
class AChildC : AChild
{ //该函数会覆盖父类的DoSomething
void DoSomething2(){
//this.data = 23;
//super::data = 33; //ABase::DoSomething1(); //报错无法访问
AChild::DoSomething2();
super.DoSomething2();
print("DoSomething2 from AChildC\r\n");
}
} void main()
{
print("hello");
AChildC a;
a.DoSomething1();
a.DoSomething2();
}

 对于常用方式以上就够用。

还有几个要说明的:

object@ obj_h;//声明了一个指针为空,  object obj;//这样就可以你直接初始化,类似于c++

调用的时候不支持->而是通过"obj_h."的方式运行

函数对象:

  funcdef bool CALLBACK(int, int);
     A a;

    // Create the delegate for the A::Cmp class method
CALLBACK @func = CALLBACK(a.Cmp);
  func(1,2);//这里直接调用
 字符串处理
void PrintFromCommon()
{
print("Common\r\n");
int b;
b = 2;
int c = 4;
string str = b+c;
string ss;
ss += b;
ss+= c;
print(ss);
}

  如果要引用其他地方的as那么 #include"common.as",即可

反射和序列化,

lambda:

 bool result1 = func(valueA, valueB, function(a,b){ return a == b; });
funcdef void A(int);
funcdef void B(float);
void func(A@) {}
void func(B@) {} void main()
{
// Explicitly specify the type to tell the compiler that A is wanted
func(function(int a) {});
}

  

AngleScript语法的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. 深入解析HashMap源码

    HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入 ...

  2. requests + tkinter 获取网页数据

    代码: from tkinter import * import requests window = Tk() window.geometry('500x350+500+100') window.ti ...

  3. Android 13 - Media框架(17)- OpenMax(五)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 这一节最后来了解 OMX_Video.h 以及 OMX_Audio.h 中的内容 1.OMX_Video.h 这里只了解该文件中的 OMX_VIDE ...

  4. Pyomo基础学习笔记:建模组成要素的编写方法

    1.Pyomo 简介 pyomo文档[数学建模]优化模型建模语言 Pyomo 入门教程 - 知乎 (zhihu.com) Pyomo 是基于 Python 的开源软件包,主要功能是建立数学规划模型,包 ...

  5. js 设置复选框选中后不勾选

    今天在解决bug的时候,明明觉得这是个小问题,但是在我去调试的时候,发现使用setAttribute一直没得效果,虽然input框已经设置了checked属性,但是无法勾选,于是在网上找了一大堆,发现 ...

  6. Cygwin安装及简单说明

    1 简介 官方说明:Cygwin is a Linux-like environment for Windows. It consists of a DLL (cygwin1.dll), which ...

  7. 在webpack中运行vue

    网址:https://vue-loader.vuejs.org/zh/ Vue Loader 是一个 webpack 的 loader,它允许你以一种名为单文件组件的格式撰写 Vue 组件 安装loa ...

  8. echarts柱状图横(x)轴文字显示不全,一招解决

    柱状图底部X轴文字过长时,将会出现文字显示不全的问题,这是echarts为了美观默认的设置 现在我们把文章倾斜旋转点角度即可全部显示 以下是代码 scale() { var chartDom = do ...

  9. HTML/CSS复习

    CSS复习 HTML语义化 有利于SEO(搜索引擎优化) 便于阅读,修改 对盲人等不方便浏览网页的人来说比较方便 盒模型 盒模型有border-box和content-box两种,默认是content ...

  10. JVM性能分析与故障排查

    引言 JVM调优 程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高.请求延迟.tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高 ...