多态到底有什么作用?

xiaoxixing 2010-04-27 12:42:09
多态到底有什么作用?
...全文
638 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlexBrain2024 2010-04-27
  • 打赏
  • 举报
回复
子类对象代替父类对象的使用
luomf 2010-04-27
  • 打赏
  • 举报
回复
(1)类的多态性
比如说黑种人、黄种人,白种人都是人,
各种不同的人种能凭借自身的优势在所处的环境生存下来,还有这三种人的混合杂种人,构成了如今世界人种的多态性,这是人种的多态性。
(2)方法的多态性
比如说,人的祖先生下来就有吃奶的方法,黑种人、黄种人,白种人继承了这一优良传统才得以世代流传下来,这就是方法的多态。
berg369 2010-04-27
  • 打赏
  • 举报
回复
节省代码,否则你要写许多不同的方法
jacky花园 2010-04-27
  • 打赏
  • 举报
回复
List list = new ArrayList();
多态
luomf 2010-04-27
  • 打赏
  • 举报
回复
LZ,一定要由初级的面向对象编程成长到面向接口编程~
guyuxuelang 2010-04-27
  • 打赏
  • 举报
回复
个人觉得多态的目的是节约代码的编写量,因为对象可以向上转型,而且类型是在后期确定的,这样同名的方法没有必要为不同的实现编写不同的代码。
chip 2010-04-27
  • 打赏
  • 举报
回复
这个简单,比如说厕所这个东西,公厕分男的和女的,是不能乱用的,为什么,因为男厕所只能让男人用,女厕所只能让女人用,如果这时候有个变性人上厕所,你说该去哪个?。而在家里,厕所不分男女(是男厕所和女厕所的超类),这时不管男的女的都能用,为什么、因为这是多态,男的需要男厕所(厕所是男厕所的超类,所以没问题),女的需要女厕所(厕所是女厕所的超类,也没有问题),也就是说有了多态,程序就可以以不变应万变,即使变性人上厕所也没有问题。请求加分
wutian4567268 2010-04-27
  • 打赏
  • 举报
回复
有一个标准接口,在底层可以有n个不同的实现
1.重载时,只要调用父类或接口的方法就行,程序会自动找到实现代码,扩展程序也很有用
2.重写时,根据不同参数可以实现不同操作
ltandfyy 2010-04-27
  • 打赏
  • 举报
回复
说一个我搭框架时进行二次封装的例子吧:
我需要获取一个DTO的主键,我并不知道具体是哪一张表的DTO,我写的需要满足所有的实体类,我可以用Object去接所有传入的DTO对象,再用反射去取主键的值,可每张表的主键字段名还不一样,这样调用者还要再传一个参数,告诉我哪一个字段才是主键,同时,反射的性能肯定是不如直接用get方法的
这时我可以用一个BaseDTO接口来代替Object类型接传入的参数,同时我在BaseDTO中加入一个获取主键值的方法,所有别的DTO都必须实现这个接口,当然,也同时必须实现获取主键这个方法,实现的时候只要把确定为主键字段的值返回,这样我再去获取主键值就非常简单了,直接调用BaseDTO中的获取主键值方法,但实际上我调用的是调用者调用时所传入的DTO的方法,这就是多态,好处不仅限于此,可以随着经验的丰富,再琢磨
pancakeman 2010-04-27
  • 打赏
  • 举报
回复
哎 有时候发现自己写的东西 根本就不是什么面向对象,而是面向过程。有时候赶进度根本没法考虑。
ronghua_liu 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ronghua_liu 的回复:]
多态。。。
个人认为,多态就是一个标准。。。
[/Quote]
所有继承这个借口的类都要达到这个标准~~
ronghua_liu 2010-04-27
  • 打赏
  • 举报
回复
多态。。。
个人认为,多态就是一个标准。。。

keeya0416 2010-04-27
  • 打赏
  • 举报
回复
interface I{
}
class A implements I{
}
class B implements I{
}
class Test{
public static void method(I i){
}
}
这里用多态可以少写很多代码
要不你这个方法得写好多分别对应不同的参数类型

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧