一、抽象
使用abstract关键字修饰类,那么该类为抽象类,主要作用就是为了加强运行时多态。
二、抽象类的注意事项
1.抽象类是必须要被继承的,抽象类是不能实例化的,需要通过绑定子类完成实例化
2.抽象类中可以有构造方法,子类的构造函数一定依赖于父类的构造函数
3.抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类
什么是抽象方法?抽象方法是没有方法体的,但一定要有返回值类型,抽象方法一定要被重写,其访问修饰符为protected或public
示例代码:

运行结果:

4.有抽象属性设计器的类,一定是抽象类
在上述场景的基础上:添加抽象属性设计器:

在子类Cat中重写属性设计器:

调用属性设计器:

名字不符合条件时,运行结果:
![]()
名字符合条件,运行结果:

![]()
三、接口
使用interface关键字修饰,为了加强运行时多态和动态绑定。
四、接口的注意事项
1.接口中不能有构造函数
2.不能定义变量和常量
3.可以定义方法和抽象方法
4.接口中可以多继承(下图代码中类Cat既继承接口Animal也继承接口A)
示例代码:

运行结果:
![]()
五、tips
1.在仓颉的继承关系中,子类不能定义和父类的同名变量
2.仓颉的接口用来多继承时,格式为:class Child <: A接口&B接口
仓颉语言面向对象编程的抽象与接口
2557

被折叠的 条评论
为什么被折叠?



