仓颉语言--面向对象编程之抽象

仓颉语言面向对象编程的抽象与接口

一、抽象

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

二、抽象类的注意事项

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

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

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

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

        示例代码:

        运行结果:

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

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

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

                调用属性设计器:

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

                

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

        ​​​​​​​        

三、接口

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

四、接口的注意事项

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

        2.不能定义变量和常量

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

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

示例代码:

        运行结果:

        

五、tips

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值