类目 Category Extension 协议 Protocol
来源:互联网 发布:java线程并发实例 编辑:程序博客网 时间:2024/06/05 23:43
扩展:
1.子类 subclass
2.分类 Category
3.Extension
4.Protocol
Category
Category 也叫类名或类目
只要作用:
在 没有源代码 的类加方法,但是不可以加实例变量 扩展系统 第三方
通过 Category 添加的方法会成为原类的一部分,从而达到扩展一个类的功能
如何添加 Category 的方法:
1.新建文件
2.选择Objective-C Category 模板
3.填写类名和分类名
4. .h 文件添加方法声明
5. .m 文件添加方法实现
例如:添加 NSString 的方法
声明:
NSString+sayHi.h 文件
@interface NSString(sayHi)
- (void)sayHi;
@end
实现:
NSString+SayHi.m 文件
#import “NSString+SayHi.h”
@implementation NSString(SayHi)
- (void)sayHi
{
NSLog(@”这是通过category为NSString添加的hi方法”);
}
1.子类 subclass
2.分类 Category
3.Extension
4.Protocol
Category
Category 也叫类名或类目
只要作用:
在 没有源代码 的类加方法,但是不可以加实例变量 扩展系统 第三方
通过 Category 添加的方法会成为原类的一部分,从而达到扩展一个类的功能
如何添加 Category 的方法:
1.新建文件
2.选择Objective-C Category 模板
3.填写类名和分类名
4. .h 文件添加方法声明
5. .m 文件添加方法实现
例如:添加 NSString 的方法
声明:
NSString+sayHi.h 文件
@interface NSString(sayHi)
- (void)sayHi;
@end
实现:
NSString+SayHi.m 文件
#import “NSString+SayHi.h”
@implementation NSString(SayHi)
- (void)sayHi
{
NSLog(@”这是通过category为NSString添加的hi方法”);
}
@end
Extension
Extension 的主要作用是:为类添加一个”私有”方法 和 “私有”变量
Extension 针对的是自己的类,必须有源代码的类
它只在. m 文件中实现
定义:
xxx.m 文件
//括号里什么都不写 可以加私有变量 但是要是在里面写东西的话就是不能添加私有变量
@interface xxx (ExtensionName)
//你的方法列表
@end
实现:
@implementation xxx
//方法实现
@end
Protocol
protocol 又名协议
协议是一套标准(一堆方法的声明),只有 .h文件
接受协议的对象实现协议定义的方法
协议中的方法是默认的是必须要实现的,即@required (这个关键字可以不写)
关键字@optional 修饰的方法是可选的,可实现也可不实现
以@protocol 开始,以@end结束
总结它的用法和用途:
协议的 .h 文件中只有声明,实现要在谁要遵守这个协议的类的 .m 文件中写实现方法, .h 文件中要先引入这个协议
例如:
在类的 .m 文件中
如果有个类是定协议的一方,其他类要遵守这个字协议,
那么这个类中也要创建一个实例变量---是一个满足我协议对象就能成为这个类的一部分.,而且还要写一个实现方法,以便在main 函数中调用满足我协议的对象.
这个类的 .h 文件也要引用这个协议但不要遵守
例子:
0 0
- 类目 Category Extension 协议 Protocol
- category extension protocol(类目,延展,协议)
- OC 类目category,延展extension,协议protocol
- 类目category 扩展extension 协议protocol
- OC_类目(Category)、延展(extension)、协议(Protocol)
- OC 类目(category) 延展(extension) 协议(protocol)
- OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 一 )
- OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 二 )
- 01 类目Category、延展Extension、协议Protocol、计数器的使用NSTimer
- Category、Extension、Protocol
- Category Extension protocol 总结
- 8、category、extension、protocol
- Category、Protocol、Extension
- Objective-C分类 (category),扩展(Extension)和协议(protocol)
- OC中的类别Category-协议Protocol-扩展Extension
- iOS杂记——category分类、extension扩展、protocol协议
- 类别(类目)与延展 iOS Category Extension
- Category , Extension , Protocol几个概念
- 程序员能力矩阵
- hdu 1016 Prime Ring Problem
- 正则表达式(Regex)--(1)
- hdu 4848 Wow! Such Conquering! (暴搜+强剪枝)
- java利用IE浏览器实现web打印
- 类目 Category Extension 协议 Protocol
- UVA 531 DP LCS 打印路径
- poj 2299 Ultra-QuickSort
- 【iOS开发】 数据库的四种方法 (增删改查)
- robotium 中通过id获取 View 以及进行相应的操作
- 电商创业的五大新模式
- NYOJ 760 - See LCS again(LCS转LIS)
- 在线学习Linux的网站
- 最常用的Java库一览