黑马程序员技术交流社区

标题: 关于面向对象的概念里面的多态性 [打印本页]

作者: 汪书凯    时间: 2012-12-15 21:37
标题: 关于面向对象的概念里面的多态性
对于面向对象里面到底什么时候多态虽然意思上好像是理解了,可是真的要我说我确实不懂到底什么是多态,多态到底有什么作用,谁能跟我说下,对了顺便解释下接口的多态性。最好用通俗的语句来说
作者: 吴伟    时间: 2012-12-15 21:56
多态简单说就是一个事物可以表现出多种形态,具体点说,有三种方式可以实现多态:抽象类、虚方法和接口
接口是一种规范标准,是“只说不做”的家伙,它只管说我有什么,而不去实现,实现由继承它的类去做,通过接口来实现多态一般是这样做:
声明一个接口的引用,使其指向一个实现了该接口类的对象,在使用该接口的引用的时候只能调用该接口声明的成员,而调用具体做了哪些事情,则由传递给引用的实现类对象决定,这里就有不同的实现类表现出了不同的形态,而调用的方式是一致的。
多态是面向对象的灵魂,不是几句话就能说明白的,我建议你先不要纠结于这个上面,等到实际做开发的时候就会理解其中的奥妙
作者: Sailing.    时间: 2012-12-15 22:00
多态嘛,顾名思义就是有多种形态。比如我们常用的Console.WriteLine()方法,它就可以多态。它可以根据参数的不同而选择不同的方法。比如Console.WriteLine(int)和Console.WriteLine(“string”)。还有一种多态就是编译时候的多态,比如基类有个Tostring()方法,但是我们可以重写这个方法,而实现多态。至于接口吗,不是和继承类似么?
作者: 黑马_黄开潮    时间: 2012-12-15 22:02
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
面向对象具有很多的特性让开发变得简单和方便,代码便于阅读和维护,多态也是其中的重要的特性。多态可以分为两种,分别为动态多态和静态多态。重载是一种静态多态。
作者: 汪书凯    时间: 2012-12-16 21:40
嗯谢谢了我们老师也是这么说的。说是写多代码了就明白了




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