一、多态是什么?

        多态是指同一个方法名,不同的实现结果。多态分为:编译时多态和运行时多态。

        1.编译时多态:又叫方法重载。指在一个类中,方法名相同,参数列表不同,与返回值类型无关,称为方法重载。那么决定调用哪个方法,是由参数列表确定的。因为参数列表是在编译期间就确定了,所以称之为编译时多态。

        示例代码:

        分别输入参数为整型和字符串类型,运行结果:

        2.运行时多态:又叫方法重写。指在继承关系中,方法名相同,参数列表相同,返回值类型相同,也就是子类对父类方法的重写。那么具体调用哪个重写的方法,是由实际创建的对象来决定的。因为创建对象是在运行期间完成的,所以称之为运行时多态。

        示例代码:

        子类Son对父类Base中方法run重写,运行结果:

 二、动态绑定

        动态绑定是指一个父类可以绑定多个子类,在上述代码的基础上,在声明一个子类daughter

        父类可以帮绑定到子类上,并调用子类的方法:

        运行结果:

        需要注意的是:在进行方法重写时,父类中重写方法访问修饰符不能为private和default,且不能大于子类重写方法的访问修饰符。

Logo

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

更多推荐