10.抽象类
- 抽象类
- 含有一个或多个方法的类,成为抽象类
- 抽象类不能使用create object来创建对象
- 仅包含没有具体实现的方法
- class definition abstract .
- 抽象方法
- 仅包含方法定义,但没有具体实现的方法,需要通过派生类来实现
- methods abstract .
- 仅包含方法定义,但没有具体实现的方法,需要通过派生类来实现
11.最终类
- 最终类和最终方法,都是不可以被继承的
- 防止由于设计中多级别派生造成的语法和语义的冲突
- 语法
- class definition
- methods final.
12.接口
- 接口
- 和抽象类相似,定义了一些未实现的属性和方法,所有继承他的类都继承这些成员
- 不需要方法实现,不能直接实例化
- 接口所有成员都是抽象的
- 接口成员一般都是公有的
- 接口中不能含有构造方法
- 语法
-
interface <intr> data... methods... endinterface. class <class> definition . pulic section . interface: int1,int2. endclass.
-
- 静态成员访问时,通过接口引用访问intf=>const
- 其他成员,可以通过实现该接口的类本身或者类引用进行访问
-
- class=>intf~attr. - call method class=>intrf~meth.
-
- 其他成员,可以通过实现该接口的类本身或者类引用进行访问
- 直接调用接口方法,必须使用循环
- 别名: aliases alias for intf~com1.
13.事件
- 事件
- 用于捕获某类对象状态的改变来触发的方法,并处理
- 定义:可以在类或者接口中进行声明
-
events | class-events evt exporting ...value(p1) type type1 | like f [optional | default g]
- 实例事件中包含一个隐含参数sender,该参数的类型为触发事件的类或接口对象引用
-
- 触发
- 一个实例事件可以被类中的任意方法触发,静态时间则可以被静态方法触发
- raise event evt exporting p1 = f1…pn = fn
- 事件处理
- 事件需要通过触发其声明代码中所定义的方法才能处理相关事务.
- 任何类都可以调用其他类中所定义的事件,或者调用自身所定义的事件
-
-
methods | class-methods - meth form event evt of cif importing ..ei..
-
- 相关事件注册方法
- set handle …hi…[for]…
-