13、OC —— Protocol

本文通过QQ会员协议的实例,深入浅出地解释了协议的概念及其在编程中的应用,包括如何制定协议、遵守协议的方法及协议带来的权限。通过实例操作演示,读者能直观掌握协议的使用方式。

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

Protocol是什么?它是一份协议,上面有一些列协议的特权,只要你遵守了此协议,你便可以使用协议上面的特权了,从而让你跟别人不同。


比如你和大家都是QQ用户,QQ那有一份QQMumber(QQ会员)的协议,当你每个月交了10元(遵守了这份协议),你便是QQ会员了,协议上有许多特权供你使用,比如昵称变红,有VIP标志。


那我们要怎么制定一份协议呢,我们新建文件,定义一个QQMumberProtocol的协议:

192653_6Lfd_1444783.png


我们会发现只有一个.h文件,是的,协议里只能声明方法,不能声明成员变量。

192721_uSMf_1444783.png


之后我们如果要让QQUser(QQ用户)这个类成为QQMumber(QQ会员)的话,就要遵守这份协议,那要怎么遵守呢,当然是每个月交10元啦哈哈。

192751_2mWq_1444783.png


遵守之后你便会发现,Xcode便会报出警告,你没实现协议里的方法,这年头,包个会员还要主动让自己的昵称变红

192810_8xp7_1444783.png


是的,这些特权是必须实现的,也是默认的,当然,协议里也有让用户选择实现的特权,比如看下面的更换QQ秀(changeQQShow),我们会发现没实现changeQQShow方法,Xcode也不会发出警告

192832_I70B_1444783.png

192841_PlR6_1444783.png


最后我们实例化一个QQ用户,他已经遵守了QQ会员协议,于是他便可以调用这份协议里的特权。

192924_Cfu0_1444783.png




转载于:https://my.oschina.net/cobish/blog/356349

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值