面向对象——多态

多态性是OOP中的一个重要特性,主要是用来实现动态联编的,换句话说,就是程序的最终状态只有在执行过程中才被决定而非在编译期间就决定了。这对于大型系统来说能提高系统的灵活性和扩展性。
java中如何实现多态?使用多态的好处?
引用变量的两种类型:
编译时类型(模糊一点,一般是一个父类)
由声明时的类型决定。
运行时类型(运行时,具体是哪个子类就是哪个子类)
由实际对应的对象类型决定。
多态的存在要有3个必要条件:
①要有继承②要有方法重写③父类引用指向子类对象

1.1多态的概述

同一个对象,在不同时刻表现出来的不同形态

举例:猫

我们可以说猫是猫:猫 cat = new 猫();

我们也可以说猫是动物:动物 animal = new 猫();

这里猫在不同的时刻表现出来了不同的形态,这就是多态

1.2多态的前提和体现

①有继承/实现关系

②有方法重写

③有父类引用指向子类对象

1.3多态的好处和弊端

多态的好处:提高了程序的扩展性

具体体现:定义方法的时候,使用父类作为参数,将来在使用的时候,使用具体的子类型参与操作

多态的弊端:不能使用子类的特有功能

1.4多态中的转型

①向上转型

从子到父

父类引用指向子类对象

②向下转型

从父到子

父类引用转为子类对象

多态:
        对应同一个指令(调用同一个名称的方法),不同的对象给予不同的反应(不同的方法实现)
    规范(多态实现的前提):
        1、必须要有继承关系
        2、子类方法必须重写父类的方法
        3、父类引用指向子类对象(子类实例)
    多态的目的:
        1、为了提高代码的扩展性和维护性
        2、方便代码逻辑的编写
    多态的两种表现形式:
        1、父类作为方法的参数
        2、父类作为方法的返回值类型
 
    引用类型的转换跟基本数据类型的转换类似ÿ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值