一、概念
多态:不同的对象以自己的方式响应消息的能力叫做多态。
在ios开发中,每个类都有自己对应的名字空间,这使得多态成为可能,不同类中定义相同的名字并不会冲突,类的实例方法和类方法有如下特点:
1、类的实例变量也位于该类独有的名字空间
2、类中的方法也同样为约该类独有的名字空间,所以两个不同类可以实现相同的方法
方法作为对象的接口,对象收到消息的名字就会调用方法的名字,同样的消息发给不同的对象,导致的操作并不相同
二、多态的优点
多态的主要好处就是简化了接口,多态可以使类和类之间可以重用一些习惯性的命名。
注意:oc支持方法名的多态,但不支持参数和操作符的多态
三、多态的实现
在Objective-C 中多态是由方法选取器selector来实现的,选取器的特点:
1、所有同名的方法拥有相同的选取器
2、所有的选取器是不一样的
SEL和@selector:
选择器的类型是SEL,@selector 指示符用来饮用选择器,返回类型是SEL;
@selector() 通过方法名来得到选取器