1、什么是多态?
什么是多态:多态就是某一类事物的多种形态 ;
猫: 猫-->动物
狗: 狗-->动物
男人 : 男人 -->人 -->高级动物
女人 : 女人 -->人 -->高级动物
程序中的多态:
不同的对象以自己的方式响应相同名称方法的能力称为多态
或者
多态是同一个行为具有多个不同表现形式或形态的能力。
2、多态的条件
多态的条件:父类的声明变量指向子类对象。
有继承关系、有方法重写
//代码体现:用父类类型的指针指向了子类对象,这就是多态
狗 *g = [狗 new];
动物 *a = [狗 new];
猫 *c = [猫 new];
动物 *a = [猫 new];
3、多态的优点
多态的主要好处就是简化了编程接口。它容许在类和类之间重用一些习惯性的命名,而不用为每一个新加的函数命名一个新名字。这样,编程接口就是一些抽象的行为的集合,从而和实现接口的类的区分开来。
多态也使得代码可以分散在不同的对象中而不用试图在一个函数中考虑到所有可能的对象。 这样使得您的代码扩展性和复用性更好一些。当一个新的情景出现时,您无须对现有的代码进行改动,而只需要增加一个新的类和新的同名方法。
感觉对多态的理解还不是很深,总觉得不知道多态在什么时候派上用场 |
|