objective-C程序设计学习笔记3--分类和协议
来源:互联网 发布:淘宝订单清洗过期 编辑:程序博客网 时间:2024/04/26 00:48
分类可以在不继承和改动原类的情况下为类提供扩展
格式如下:
声明部分
@interface 原类 (分类名)
扩展的方法
@end
实现部分
@implementation 原类 (分类名)
扩展的方法
@end
注意:分类中不能直接访问原类中@property定义的变量(因为其为原类私有的),不过可以通过[self 变量名]访问。
协议相当于C++中的抽象类(接口类),类如果声明遵循某协议则必须实现协议的方法
//定义Drawing协议
@protocol Drawing //协议开始
-(void)paint; //必须实现的方法
@optional
-(void)outline; //@optional后边的方法为可选实现的方法
@end //协议结束
//RectAngular类声明实现Drawing协议
@interface RectAngular : 父类 <Drawing>
//检查对象是否遵循某协议
[obj conformsToProtocal: @protocal (Drawing)] == YES
//告诉编译器obj对象将会是遵循Drawing协议的对象,如果赋值给obj的对象不遵循Drawing协议则会发出警告
id <Drawing> obj
//扩展Drawing协议
@protocal Drawing3D <Drawing>
//分类也可以遵循协议
@interface 类名 : 父类 <协议名>
代理
如果某类实现了协议的方法,某类则代理了协议的行为
0 0
- objective-C程序设计学习笔记3--分类和协议
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第十一章 分类和协议
- objective c 学习笔记:分类和协议
- Objective-C 学习笔记 11 分类和协议
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之11-分类和协议——黑马 IOS 技术博客
- 黑马——Objective-C学习笔记<十>:分类和协议
- 《objective-c程序设计》学习笔记
- Objective-C的分类和协议
- Objective-C基础—分类和协议
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第四章 数据类型和表达式
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第十章 变量和数据类型
- Objective-C学习笔记之协议和代理
- 《objective-c 2.0 程序设计》学习笔记
- objective-C程序设计学习笔记2--类
- Objective-C 2.0 学习笔记一(Objective-C 程序设计)
- Objective-C学习笔记之分类
- iOS学习笔记56(Runtime)-Objective-C Runtime 运行时之五:协议与分类
- 《Objective-C程序设计》笔记
- ECMAScript数组
- 单例模式——仓库只有一个
- windows GUI开发02 - 显示对话框,对话框在资源管理器中布局;
- Canvas缩放变化
- SQL Server入门-增删改查约束建库建表
- objective-C程序设计学习笔记3--分类和协议
- 如何查看自己的电脑端口被什么程序占用了
- icons 图标
- vijos p1002 过河(离散化dp)
- Android实战技术:Splash的实现
- 基于html5的canvas用javascript写柱状图
- 简单工厂模式——把生产方法封装起来
- 生命周期 Service
- android studio基本界面设置