1. tr=new(3);的实现过程:
先开辟空间(包括原类的初始化过程),再调用new构建函数,函数会隐式的返回例化后的对象的指针,传递给tr。
2. 句柄的传递
创建了对象后,该对象的空间位置不会变,而指向该空间的指针可以有多个。
3. 静态变量/动态变量
class中声明的默认为动态变量。
如果用static声明class内的变量时,则其为静态变量。
静态变量开始于编译阶段,贯穿整个仿真阶段。
如果类中声明了静态变量,可以直接引用该变量class:var,或者通过例化对象使用object.var
因为count是静态共用的,所以该程序new,可以通过count++给id进行索引,因此可以找到该对象的id。
4. 类的成员
如果没有指明访问类型,默认public,子类和外部均可访问成员。
如果指明protected,只有该类或子类可以访问成员。外部无法访问。
如果指明local,只有该类可以访问成员,子类和外部无法访问。
5.类的封装
类需要通过构造才会构建对象实体,struct再变量声明时已经开辟内存。
类可以声明task和function,struct不可以。
6.类的继承
如果未定义,子类不会继承父类的同名方法,其同名方法属于其类内独有。
如果子类需要继承父类的同名方法,需要再function中定义,super.xxx();
this表达当前类中的方法,super表达父类中的方法。