Objective C协议

本文详细介绍了Objective-C中的协议概念,包括如何定义协议、如何让类遵循协议,以及如何实现协议中的方法。通过具体的代码示例展示了如何定义多个协议并让一个类同时遵循这些协议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        协议类似于Java中的接口或者C++中的纯虚类,只有接口部分而没有实现部分只定义了方法的声明部分而没有实现部分。关键字为@protocol,协议可以继承别的协议,协议可以有多个用逗号分隔<p1 ,p2>。协议中不能有成员变量。在Java的接口中通常可以定义抽象方法和常数,不能定义实例方法。

@protocol MyProtocol <NSObject>
-(void) read;
-(void)write;
@end
         定义一个MyProtocol协议继承自NSObject协议,我们也可以使用预编译指令@required和@optional来指定方法是必须实现的还是可选的。

         一个类可以实现多个协议。我们再定义一个协议类Media.h

#import <Foundation/Foundation.h>

@protocol Media <NSObject>
-(void)playmusic;
-(void)playvideo;
@end
        定义一个Mobile类继承子这两个协议

#import <Foundation/Foundation.h>
#import "MyProtocol.h"
#import "Media.h"
@interface Mobile : NSObject<Media, MyProtocol>
@end
       实现Mobile类

#import "Mobile.h"

@implementation Mobile
-(void)read{
    NSLog(@"read");
}
-(void)write{
    NSLog(@"write");
}
-(void)playmusic{
    NSLog(@"playmusic");
}
-(void)playvideo{
    NSLog(@"playvideo");
}
@end






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值