黑马程序员技术交流社区

标题: 多态怎么实现 [打印本页]

作者: 海继峥    时间: 2012-4-24 20:48
标题: 多态怎么实现
多态怎么实现,一共有几种方法实现?方法的重载是不是多态的一种表现?为什么?
作者: 非常小可    时间: 2012-4-24 21:50
多态现在也刚开始学还不了解。不过后面黑马班。就业班会有讲到的,所以说现在你不用纠结
作者: z4226797    时间: 2012-4-24 22:23
  我找到一篇关于多态详细介绍的文章
下面是关于多态的解释
可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。

就像楼上所说的多态是在黑马班或就业班上才学的内容,现在稍微了解下,到时在系统的学习
  如果你想详细了解多态,文章链接给你:http://apps.hi.baidu.com/share/detail/33465607

作者: z4226797    时间: 2012-4-24 22:23
  我找到一篇关于多态详细介绍的文章
下面是关于多态的解释
可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。

就像楼上所说的多态是在黑马班或就业班上才学的内容,现在稍微了解下,到时在系统的学习
  如果你想详细了解多态,文章链接给你:http://apps.hi.baidu.com/share/detail/33465607

作者: 韩新凯    时间: 2012-4-24 22:26
建议你去看毕老师的视频。
先提供一点: 多态:可以理解为事物存在的多种形态。

人:男人  ,  女人
动物:猫,狗

猫 x = new 猫();

动物 x = new 猫();

1,多态的基本体现:
父类的引用指向了自己的子类对象。
父类的引用也也可以接收自己子类的对象。

2,多态的前提:
必须是类与类之间有关系。要么继承,要么实现。
通常还有一个前提就是:存在覆盖。

3,多态的好处:
多态的出现大大的提高了程序的扩展性。

4,多态的弊端:
提高了扩展性,但是只能使用父类的引用访问父类的成员。
作者: 张林春    时间: 2012-4-25 17:18
多态简单说就是,不属于同一类的多个对象调用同一个方法,得到的结果是不同的。
列:
Z是一个抽象类,中有个抽象hello方法,A和B继承于Z这个抽象类,A类中重写了hello的方法,B类中也重写了hello的方法,现在在主函数里new出对象per1,per2分别调用hello这个方法,输出的结果不一样。
我是新手,不知道说的是否能让你明白,有说的不妥当的地方,大家指出!  
作者: 。_Smileヾ淡莣    时间: 2012-5-24 21:38
重载不是覆盖中的一种体现,重载与覆盖的区别:
重载是在一个内中,覆盖是在子类中;
作者: 熊华明    时间: 2012-5-25 15:49
多态性是类为方法(这些方法以相同的名称调用)提供不同实现方式的能力。多态性允许对类的某个方法进行调用而无需考虑该方法所提供的特定实现。例如,可能有名为 Road 的类,它调用另一个类的 Drive 方法。这另一个类 Car 可能是 SportsCar 或 SmallCar,但二者都提供 Drive 方法。虽然 Drive 方法的实现因类的不同而异,但 Road 类仍可以调用它,并且它提供的结果可由 Road 类使用和解释。
可以用不同的方式实现组件中的多态性:
● 接口多态性。
● 继承多态性。
● 通过抽象类实现的多态性。
如有不清楚可以参考:http://www.iwms.net/n171c13.aspx





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