Objective-C中的协议使用

Objective-C中的协议就是一个方法以及一些属性的列表,里面列出了一些类必要实现的方法以及可选的方法。使用协议需要注意以下几点:

(1) 父类实现了某个协议,则其子类遵循该协议。如果不满足自己的要求,可以重新实现,覆盖父类的方法

(2) 一个协议可以是另一个协议的扩充。也就是一个协议可以扩充其他的协议。

(3) 协议中的@required 以及 @optional

(4) 可以使用conformsToProtocol:方法来检测一个类是否实现了该协议   例如 [currentObject conformsToProtocol:@protocol(Drawing)] == YES;

(5) 可以使用编译过程来检测,如以下的程序所示


例如下面的程序:

//声明一个协议

@protocol drawing <NSObject>

-(void) showDrawing;


@end


使用该协议

@interface testClass :NSObject <drawing>

@end


@implementation testClass


-(void) showDrawing

{

    NSLog(@"drawing");

}


@end




在主程序中使用该类

//编译的时候会检测testClass类是否实现了该协议

id<drawing> iTest = [[testClassalloc]init];

[iTestshowDrawing];

[iTestrelease];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值