多态的特点,该怎么使用。多态是用于解决什么问题的呢? 寻找答案,寻找答案,
多态(polymorphic)指的是一种概念,多种形态。在面向对象的编程中,函数重载、继承/方法重写、泛型、运算符重载等等都体现了多态。
在函数重载中,一个概念——相同的函数名,做相同的事情;多种形态,不同的函数参数列表,不同的调用方式
函数重写,一个概念——派生类继承了基类的方法,每个派生类的函数名函数原型都是相同的,不同形态——同时又有完全不同的函数的实现,通过基类调用派生类重写的函数不需要了解每个派生类实现的不同
泛型,一个概念——定义相同的算法和数据结构,不同的形态——具体为每一种类型有自己的类型,对于C++语言,这是编译器自动生成的
运算符重载,一个概念——无论计算集合、矩阵、浮点数、整数、虚数、逻辑代数等等,都用相同的表达式,不同的形态——每种计算的实质是不同的,比如矩阵的加法和自然数的加法完全不同。
多态解决的问题就是简化调用别人编写的代码的难度,因为概念相同但是具体实现不同的代码,被装进相同的概念,而屏蔽掉底层的复杂性了。对于相同的问题,降低复杂度,那么对于程序员来说,他可以更容易编写规模更大的软件。
http://blog.csdn.net/hackbuteer1/article/details/7475622
java面向对象编程的三大特性之一多态,就是一种概念,多种形态。对于1楼对概念的解释我十分赞同,下面我就谈一下我个人认为多态
最有用的应用场景:
例如:class Parent{ p()方法}
class Child1 extend Parent{重写p()方法,做1的事}
class Child2 extend Parent{重写p()方法,做2的事}
那么在使用的时候,实例化对象parent和两个child1、child2,就可以直接parent.p();调用。当parent里面放的是child1就做1的事,放的是child2就
做2的事。这样就十分方便了
多态是面向对象语言的一个特性,简单来说就是一个父类是可以带有它的子类的功能的,也就是它不用自己再定义一些功能而可以直接调用子类的功能,这是很方便的一个特性,目前我学习的java和python都有这种特性,你可以自己使用面向对象语言实践一下就会明白了
多态就是一种事物在不同情况下的多种表现形式。比如水
多态包括方法重载和方法重写。
方法重载是在一个类中,有多个方法名相同,但参数列表不同(个数,类型,顺序)。
方法重写必须在子类中实现
方法重写是重写父类中所有的方法,但要与父类中的参数列表,返回值类型完全一致,访问修饰符的范围不能被缩小。
多态就是同一过程的不同表现形式,同样是叫,狗跟猫的叫声不同就是多态
方法用子类的 变量用父类的 初学记住这个就好了啊