欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 面向对象三大特性:多态

面向对象三大特性:多态

2025/7/5 6:19:54 来源:https://blog.csdn.net/2402_87239469/article/details/146025306  浏览:    关键词:面向对象三大特性:多态

什么是多态?

对于多态是一个极其抽象的词,比如说动物有猫和狗,猫和狗的行为不同,这也叫多态,就是根据引用对象的不同,产生的行为也不同,这就叫多态。

多态的实现条件

1.必须是继承的子类

2.子类得要对父类的方法进行重写

3.通过父类的引用调用重写的方法

此时func1方法的参数类型是父类,通过将不同的子类传入从而产生出不同的行为,这就叫多态。

重写

1.重写是通过子类对父类非static,final,private修饰的方法根据子类的需要对父类进行重新编写,同时其参数列表,返回类型都不能改变,

2.子类重写的访问修饰符权限不能比父类还低,比如子类是default父类是pubilc。

3.子类与父类必须是父子关系

4.可以叫上override进行修饰,如果重写的方法名错误其会提示。

重写与重载比较

1.重写要求两个类得是父子关系

2.重写的参数列表一定不能修改,重载则必须修改

3.重写的返回值类型不能修改(除非构成父子关系),重载则可以修改

4.重写的访问限定符收到严格限制,重载可以修改

向上转型和向下转型

向上转型使用场景

1.直接赋值

2.参数返回

3.方法传参

优点:让代码实现更灵活

缺点:不能调用子类特有的方法

多态的优缺点

优点

1.降低代码的圈复杂度,降低使用if-else

2.扩展性强

比如说我想在原有的Animal类上加一个子类,只需要创造一个新的实例就行,改动成本很低。

缺点

代码运行效率低

1.属性没有多态性
2.构造方法没有多态性

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词