一、继承
1个特点:子类可以使用父类中所有非有的成员变量,属性、方法
2个方法:
- (BOOL)isMemberOfClass:(Class) 判断是否是成员
- (BOOL)isKindOfClass:(Class) 判断是否是成员或子类成员
二、多态
定义:不同对象以自己的方式响应相同消息的能力
1.消息(调用函数、方法 = 发送消息)
[obj message]; //向obj对象发送message消息
组成部分:发送者、接收者、消息
2.编译时、运行时
编译:将源代码转换为计算机能够识别的语言(OC的编译器:LLVM)、检查语法
运行:将可执行文件加载进内存
3.方法选择器 SEL -> 存储方法
作用:
1.在编译时中方法的唯一标识
2.在运行时中调用对象方法的实现
特点:
1.不同类中相同的方法拥有相同的选择器
2.选择器是唯一的
3.OC中不支持方法和操作符的重载
4.方法
4.1 得到选择器
@selector(方法名)
NSSelectorFromString(方法名的字符串)
4.2 得到选择器指定的方法
NSStringFromSelector(SEL)
4.3 判断是否能够响应指定选择器
respondsToSelector(SEL)
4.4 执行无参的选择器
performSelector:(SEL)
4.5 执行带一个参数的选择器
performSelector:(SEL) withObject:(id)
4.5 执行带两个参数的选择器
performSelector:(SEL) withObject:(id) withObject:(id)
1个特点:子类可以使用父类中所有非有的成员变量,属性、方法
2个方法:
- (BOOL)isMemberOfClass:(Class) 判断是否是成员
- (BOOL)isKindOfClass:(Class) 判断是否是成员或子类成员
二、多态
定义:不同对象以自己的方式响应相同消息的能力
1.消息(调用函数、方法 = 发送消息)
[obj message]; //向obj对象发送message消息
组成部分:发送者、接收者、消息
2.编译时、运行时
编译:将源代码转换为计算机能够识别的语言(OC的编译器:LLVM)、检查语法
运行:将可执行文件加载进内存
3.方法选择器 SEL -> 存储方法
作用:
1.在编译时中方法的唯一标识
2.在运行时中调用对象方法的实现
特点:
1.不同类中相同的方法拥有相同的选择器
2.选择器是唯一的
3.OC中不支持方法和操作符的重载
4.方法
4.1 得到选择器
@selector(方法名)
NSSelectorFromString(方法名的字符串)
4.2 得到选择器指定的方法
NSStringFromSelector(SEL)
4.3 判断是否能够响应指定选择器
respondsToSelector(SEL)
4.4 执行无参的选择器
performSelector:(SEL)
4.5 执行带一个参数的选择器
performSelector:(SEL) withObject:(id)
4.5 执行带两个参数的选择器
performSelector:(SEL) withObject:(id) withObject:(id)