Object-C protocol

本文详细介绍了Objective-C中的协议概念,对比了与其他编程语言接口的区别,并通过实例演示了如何定义及实现协议。

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

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

Object-C称为协议的东西,其实就是其他编程语言(例如C++,java)所说的接口。而Object中的@interface实际上则是类。


tag1.protocol的定义:

1.protocol就是一系列方法的列表,其中声明的方法可以被任何类实现。这种模式一般称为代理(delegation)模式;

2.在声明文件(.h文件)中定义——以上代码可以单独放在一个h文件中,也可以写在相关类的h文件中;

3.protocol并不要求实现协议的类必须实现其所有方法(区别与java),区别是否必须实现使用@required和@optional,@required表示必须实现,@optional表示可选,如果不注明,默认为@required;

4.<>标明协议准从的父协议。

实例:

MyBtnDelegate.h

#import <Foundation/Foundation.h>
@class MyBtn;
@protocol MyBtnDelegate <NSObject>
@required
- (void) btnClick: (MyBtn *)sender;

@optional
- (void) btnInit: (MyBtn *)sender;
@end



tag2.protocol的实现:

1.创建一个类,将protocol所在的.h文件包含进类的声明文件中;

2.一个类可以实现多个protocol,具体包括在<>里,用逗号隔开;

3.编写实现语句。


实例(继上)

// #import "MyBtnDelegate.h"
@interface MyController : NSObject<MyBtnDelegate>
@end


#import "MyBtnDelegate.h"
@implementation MyController
- (void) btnClick: (MyBtn *)sender{
 NSLog(@"按钮被点击了!");
}
@end







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值