|
文件/类
是否支持一个文件内定义多个类?(基于C++)
AS: | 支持。但只允许有一个public类。此类需要包含在package的括号里,而其他类则不能在括号里。 | C++: | 支持,无限制。 | Java: | 支持,但只允许有一个public类。 | Python: | 支持,无限制。 |
类名是否必须和文件名(不包含后缀)相同?(基于AS)
AS: | 是 | C++: | 否 | Java: | 是(public 类需和文件名相同) | Python: | 否 |
是否允许private或者protected构造函数?(基于C++)
AS: | 否,构造函数只能是public的 | C++: | 是 | Java: | 是 | Python: | 待完成 |
函数
函数格式(基于C++)
AS: public function functionName(parameters...):returnType { functionBody }
C++: public returnType functionName() { functionBody }
Java: 同C++
Python: def functionName():
tab缩进 functionBody
是否支持缺省参数(基于C++)
AS: | 支持。 | C++: | 支持。 | Java: | 不支持。 | Python: | 支持。 |
示例代码(C++):
int a(int b = 10)
{
....
}
是否支持出参?(基于C++)
AS:支持。 通过pass by reference。前提是出参必须是Object对象。
C++:支持。通过指针和引用,对出参的数据类型没有要求,即使是基本数据类型也支持。
是否支持函数重载?(基于C++)
AS: | 不支持。类里不允许出现同名函数,编译时报错。 | C++: | 支持。 | Java: | 支持。 | Python: | 不支持。后边的同名函数会把前边的函数覆盖/替换掉。 |
是否支持返回多个结果?(基于Python)
AS: | 不支持。 | C++: | 不支持。 | Java: | 不支持。 | Python: | 支持。 |
是否支持package level 函数?(基于AS)
AS: | 支持。 | C++: | 不支持。C++没有package的概念,只有类似的namespace的概念。 | | Java: | 不支持。 | Python: | 支持。 |
语法
switch、case是否支持对象类型(基于AS)
AS: | 支持 | C++: | 必须是整型常量 | Java: | 必须是整型常量 | Python: | 没有"switch case"语句,只能使用"if ... elif ... elif"替代 |
是否支持__FILE__,__LINE__,__FUNCTION__(基于C++)
AS: | 不支持 | C++: | 支持 | Java: | 不支持 | Python: | 待测试 |
是否支持Interface?(语法层面,基于Java)
AS: | 支持,使用Interface关键字。 | C++: | 不支持 | Java: | 支持,使用Interface关键字。 | Python: | 不支持 |
是否支持final class和final function?(基于Java)
AS: | 支持,使用final关键字。 | C++: | 不支持,没有final关键字,待完成 | Java: | 支持,使用final关键字。 | Python: | 不支持,待完成 |
是否支持在运行时判断对象是否是特定类的实例?(基于Java)
AS: | 支持,使用is关键字。 obj is class | C++: | 不支持 | Java: | 支持,使用instanceof关键字。obj instanceof class | Python: | 支持,使用内建函数isinstance。 isinstance(obj, class) |
是否友元类或者友元函数?(基于C++)
AS: | 不支持 | C++: | 支持 | Java: | 不支持 | Python: | 不支持 |
是支持数据类型:double和float?(基于C++)
AS: | 不支持,替代类型为:Number | C++: | 支持 | Java: | 支持 | Python: | 不需要声明 |
5 / 2 的结果(基于AS)
AS: | 2.5 | C++: | 2 | Java: | 2 | Python: | 2 |
常用函数
求最小值
AS: | Math.min,支持两个以上参数 | C++: | algorithm:min,仅支持两个参数 | Java: | Math.min,仅支持两个参数 | Python: | min,支持两个以上参数 |
|
|
|
|
|
|
|