黑马程序员技术交流社区

标题: 多态存在的意义 [打印本页]

作者: aiheima    时间: 2016-1-4 21:18
标题: 多态存在的意义
多态里  子类继承父类   父类引用指向子类    重写父类所有的方法  这样有何必要呢  直接写一个类  写方法不是更加方便吗  又要继承 又要重写父类里的方法   这样写可以有什么好处呢 ? 疑惑不解  跪求大牛
作者: aiheima    时间: 2016-1-4 22:29
哥们 谢谢 谢谢 谢谢谢
作者: yuwenqing0329    时间: 2016-1-5 10:41
我觉得是便于封装吧,如果以后再用到这个类直接引用就好了,不用去又写一大堆了
作者: 一个蛋偏大    时间: 2016-1-5 18:27
我觉得是规范子类吧, 这样他的子类就必须有那个重写的方法了
还有就是把父类当形式参数传递的时候实际传递子类对象.这样就不影响其他子类
作者: aiheima    时间: 2016-1-6 00:18
yuwenqing0329 发表于 2016-1-5 10:41
我觉得是便于封装吧,如果以后再用到这个类直接引用就好了,不用去又写一大堆了 ...

谢谢     
作者: aiheima    时间: 2016-1-6 00:20
一个蛋偏大 发表于 2016-1-5 18:27
我觉得是规范子类吧, 这样他的子类就必须有那个重写的方法了
还有就是把父类当形式参数传递的时候实际传递 ...

多态主要用于当参数传递的时候用吧  
作者: Yaoluhao01    时间: 2016-1-6 22:08
我觉得有规范子类的作用,不让子类随便写方法。
作者: aiheima    时间: 2016-1-7 00:04
Yaoluhao01 发表于 2016-1-6 22:08
我觉得有规范子类的作用,不让子类随便写方法。

父类定义方法 子类不是一样可以重写父类的方法  从这个意义上说 没有起到规范子类的作用啊
作者: airforme    时间: 2016-1-7 23:45
存在即合理!
作者: 1066715808    时间: 2016-1-8 08:43
假设一个卫星(感觉有点高大上哈),对天上的卫星! 目前对于操作它有三种操作方法,但随着以后的优化,发现操作它还可以添加五种操作方法,为了不影响前三种操作方法情况下,对后面的方法进行改进,我们就可以将卫星这8种方法的共性部分,如接收数据,发送数据等方法进行封装成一个“父亲”,而方法就是它的“儿子”。以后只要父亲一声令下,所有的儿子,即里面这8种操作方法都可以实现!而这个“父亲”就是多态这种角色!
作者: dengwenqiang    时间: 2016-1-8 08:56
你学到后面就只知道多态的好处了,我们可以大量的看到多态的应用,比如在Object类中的equals(Object obj)方法中,参数是个Object

类型的参数.因为Object是Java中所有类的基类.,但是才传入参数的时候,可以传入任何一个类的对象
这就是多态的应用!

使用多态可以解决项目中紧偶合的问题,提高程序的可扩展性.是OCP原则的一个具体的实现
有些方法是可能经常用的,你总不能每次需要的时候来写吧,一般都封装成方法方便复用,而你写方法的时候还要考虑以后的维护,不要把方法写死,可能以后还会扩展




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