OC第九节 类的扩展
1、Category 类目
①. 类目是为系统内部的类或者是没有源代码的类添加方法,不能添加实例变量
②. 添加的方法会被称为原类的一部分,子类照样可以使用
③. 类目的文件名为 原名 + 文件名 (例如:NSString+Wuyaun)
④. 既可以添加实例方法,也可以添加类方法
2、extension 延展
①. 延展是为自定义的类扩展功能的
②. 在的.m文件上方,使用@interface关键字构建扩展
③. 在延展中,我们既可以声明方法,也可以声明实例变量或者属性
④. 添加的内容属于本类的私有部分。
3、delegate 协议,代理执行。
@class A; // 告诉编译器A只是一个类名,至于类里面有什么实例变量,属性,方法都不知道
4、多态的应用
// 多态,就是多种形态,有多态肯定有继承
// 多态的本质是父类指针指向子类对象
// 多态使用时,系统会动态监测指针指向的时什么类型,虽然,car是Car *类型的指针,但是当car单独执行方法时,其实TA是Benz对象
// 父类指针作为函数或者是方法的参数时,执行方法或者调用函数时,传入具体的子类对象,就可以执行之类的方法。
// 多态的劣势,父类指针必能执行子类中都有的方法,只能执行继承的方法,如果想使用,必须做强转。