黑马程序员技术交流社区

标题: 多态不是很理解 [打印本页]

作者: s526349668    时间: 2014-7-6 00:10
标题: 多态不是很理解
本帖最后由 s526349668 于 2014-7-6 21:11 编辑

多态这节看了几遍,理解都不是很透

作者: cat73    时间: 2014-7-6 00:30
多态的最大好处就是定义一个函数就能操作多个类
作者: fantacyleo    时间: 2014-7-6 00:30
具体是什么地方不理解呢?
作者: EarlyHeart    时间: 2014-7-6 00:50
初学先简单的理解:
首先从字面上讲,多态可以大致理解成一种事物的多种“形态”,比如飞机这类事物又可以分为战斗机,运输机等等更具体的类型(多种形态),那么这种现象表现在java中就是父类引用变量可以指向子类对象这个语法规则上,如:People p = new Man();(其中People 是Man的父类),那么我还可以让p指向People的别的"形态"(People的其它子类对象)如:p = new Woman();也就是说,同一个父类的引用变量可以指向不同的子类对象,不就是表明此种事物可以有多种“形态”么,也就是多态了。
作者: s526349668    时间: 2014-7-6 00:52
EarlyHeart 发表于 2014-7-6 00:50
初学先简单的理解:
首先从字面上讲,多态可以大致理解成一种事物的多种“形态”,比如飞机这类事物又可以 ...

你这个说的太给力了,太到位了
作者: Running    时间: 2014-7-6 09:00
多态:函数本身就具备多态性,某一种事物有不同的具体的体现。
   体现:父类引用或者接口的引用指向了自己的子类对象。
   多态的好处:提高了程序的扩展性。
   多态的弊端:当父类引用指向子类对象时,虽提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
   多态的前提a;必须要有关系,比如继承、后者实现。b:通常会有覆盖的操作。
作者: wisely    时间: 2014-7-6 09:22
楼上几位说的很清楚了。如果实在不明白,那就硬记,后面见得多了,自然就清楚了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2