你真正了解“泛型”与“多态”吗

winnerfat 2010-05-24 09:10:21
我理解是 多态是使用,继承,虚函数, 不同的类调用同一个函数,实现不同的功能。

而我理解泛型和多态也差不多。。

谁能帮我详细解释下这两的区别和相同的地方? 或者有用的demo........
...全文
380 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
请叫我卷福 2010-05-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 winnerfat 的回复:]
引用 7 楼 xiaozhi_5638 的回复:

漏了,以上只是“多态”的狭隘定义


对不起。。结贴结早了!!
你讲的很简明易懂。
[/Quote]
没事,分是次要的,只是才是重要的,呵呵
winnerfat 2010-05-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaozhi_5638 的回复:]

漏了,以上只是“多态”的狭隘定义
[/Quote]

对不起。。结贴结早了!!
你讲的很简明易懂。
请叫我卷福 2010-05-24
  • 打赏
  • 举报
回复
漏了,以上只是“多态”的狭隘定义
请叫我卷福 2010-05-24
  • 打赏
  • 举报
回复
多态是基于继承和虚函数之上的,没有继承或者虚函数,根本就不能谈及多态。
泛型没有以上要求,有了泛型,程序员就可以把类型当作参数,.Net 2.0泛型的提出解决了性能问题
ArrayList类型中的成员函数的参数或者返回值大多都是object型
如 ArrayList.Add(object obj);
如果我们将整数3加到ArrayList中,即list.Add(3);这样势必要发生装箱,性能低
引进泛型后,有了List<T>类型,其实他跟ArrayList差不多,只是List<T>可以在定义对象的时候决定它里面存放的数据类型
如果定义List<int> list=new List<int>();后,list就有list.Add(int o);这样的成员函数,
明显,list.Add(3)不需要装箱
多态的定义是:同一消息,不同的对象接受后,产生不同的动作。
个人感觉泛型不能叫多态
烈火蜓蜻 2010-05-24
  • 打赏
  • 举报
回复
多态和泛型是两个完全不相关的东西吧
winnerfat 2010-05-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]

多态 子类对于父类一种衍变。子类继承自父类,拥有父类所定义的一切并可修改
泛型是对数据类型的抽象,体现了参数的多态性
[/Quote]

泛型体现参数的多态性 和 多态 是不是相同了??
泛型相对于 多态 还有哪些方面的不同?
wuyq11 2010-05-24
  • 打赏
  • 举报
回复
多态 子类对于父类一种衍变。子类继承自父类,拥有父类所定义的一切并可修改
泛型是对数据类型的抽象,体现了参数的多态性
ITtaowmdj 2010-05-24
  • 打赏
  • 举报
回复
不知。来学习一下

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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