A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© li274819748 中级黑马   /  2016-8-25 20:20  /  2157 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是多态,什么时候用多态合适,谁能给解释明白一点啊!
多态有优点,也有缺陷,怎么衡量什么时候用多态比较合适?

5 个回复

倒序浏览
多态后,由于父类类型指向子类对象,可以使用instanceof关键字判断到底该对象属于哪个数据类型
回复 使用道具 举报
多态
        (1)同一个对象,在不同时刻表现出来的不同状态。              
        (2)前提:
                A:有继承或者实现关系。
                B:有方法的重写。
                C:有父类(接口)的引用指向子类对象。
        (3)多态中的成员使用特点:
                Fu fz = new Zi();
                多态时,所有表现形式都是父类的表现形式,
                只有调用方法时,运行的是子类重写的方法
                A:成员变量
                        编译看左边,运行看左边。
                B:成员方法
                        编译看左边,运行看右边。
        (4)多态中的转型:
                A:向上转型
                        把子类对象赋值给父类(接口)的引用
                B:向下转型
                        把父类(接口)的引用强制转换成子类对象
(5)多态的好处及弊端:
                A:好处
                        提高了程序可维护性和可扩展性。
                B:弊端
                        不能使用子类特有内容。
                        要想使用,要么向下转型,要么重新创建子类对象。
instanceof 关键字:用于引用数据类型判断
                格式: 对象名 instanceof 类名
                返回值: true, false
                作用: 判断某个对象是否属于某种数据类型
回复 使用道具 举报 1 0
2楼完美诠释
回复 使用道具 举报
多态作为参数传递的时候才真正发挥出它的优势,多态的父类有普通类,抽象类,接口三种情况,实际开发中接口作为父类的较常用,比如电脑的USB接口的实现例子,因为多态同一个USB接口才能既能接鼠标,还能接键盘,风扇等所有这种接口的设备.
回复 使用道具 举报
多态         (1)同一个对象,在不同时刻表现出来的不同状态。                        (2)前提:                 A:有继承或者实现关系。                 B:有方法的重写。                 C:有父类(接口)的引用指向子类对象。         (3)多态中的成员使用特点:                 Fu fz = new Zi();                 多态时,所有表现形式都是父类的表现形式,                 只有调用方法时,运行的是子类重写的方法                 A:成员变量                         编译看左边,运行看左边。                 B:成员方法                         编译看左边,运行看右边。         (4)多态中的转型:                 A:向上转型                         把子类对象赋值给父类(接口)的引用                 B:向下转型                         把父类(接口)的引用强制转换成子类对象 (5)多态的好处及弊端:                 A:好处                         提高了程序可维护性和可扩展性。                 B:弊端                         不能使用子类特有内容。                         要想使用,要么向下转型,要么重新创建子类对象。 instanceof 关键字:用于引用数据类型判断                 格式: 对象名 instanceof 类名                 返回值: true, false                 作用: 判断某个对象是否属于某种数据类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马