一、抽象

        使用abstract关键字修饰类,那么该类为抽象类,主要作用就是为了加强运行时多态。

二、抽象类的注意事项

        1.抽象类是必须要被继承的,抽象类是不能实例化的,需要通过绑定子类完成实例化

        2.抽象类中可以有构造方法,子类的构造函数一定依赖于父类的构造函数

        3.抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类

                什么是抽象方法?抽象方法是没有方法体的,但一定要有返回值类型,抽象方法一定要被重写,其访问修饰符为protected或public

        示例代码:

        运行结果:

        4.有抽象属性设计器的类,一定是抽象类

                在上述场景的基础上:添加抽象属性设计器:

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

                调用属性设计器:

                名字不符合条件时,运行结果:

                

                名字符合条件,运行结果:

        ​​​​​​​        

三、接口

使用interface关键字修饰,为了加强运行时多态和动态绑定。

四、接口的注意事项

        1.接口中不能有构造函数

        2.不能定义变量和常量

        3.可以定义方法和抽象方法

        4.接口中可以多继承(下图代码中类Cat既继承接口Animal也继承接口A)

示例代码:

        运行结果:

        

五、tips

        1.在仓颉的继承关系中,子类不能定义和父类的同名变量

        2.仓颉的接口用来多继承时,格式为:class Child <: A接口&B接口

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐