Objective-c protocol 练习

题目描述:

请使用 Objective-C 中的 @protocol 协议机制,实现一个简易的门禁控制系统。

系统包含两个类:

  1. AccessControlSystem ------ 门禁系统,用于执行开门操作;
  2. Admin ------ 实现权限判断逻辑的管理员。

要求如下:

  • 定义一个名为 AccessControlDelegate 的协议,包含一个方法 - (BOOL)canAccess

  • AccessControlSystem 类中持有一个 AccessControlDelegate 类型的 delegate

  • 当调用 openDoor 方法时,根据 delegate 返回的权限判断是否允许开门;

    • 如果有权限,输出:Door opened successfully!
    • 如果无权限,输出:Access denied! You don't have permission to open the door.

Admin 类定义如下:

objective-c 复制代码
@interface Admin : NSObject <AccessControlDelegate>
- (BOOL)canAccess;
@end

面试目标:

考察候选人对 Objective-C 协议(@protocol)、委托模式(Delegate Pattern)以及基本类设计和方法调用的掌握程度。

相关推荐
姚青&几秒前
Pytest fixture 参数化(params 参数)
开发语言·python·pytest
qq_334903153 分钟前
C++与人工智能框架
开发语言·c++·算法
2401_891482174 分钟前
C++中的状态模式
开发语言·c++·算法
952368 分钟前
初识多线程
java·开发语言·jvm·后端·学习·多线程
m0_736914229 分钟前
服务器上pip install spacy卡住解决方法
开发语言·python
冰暮流星10 分钟前
javascript之回调函数
开发语言·前端·javascript
qq_4176950513 分钟前
基于C++的区块链实现
开发语言·c++·算法
电商API_1800790524714 分钟前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫
小陈工15 分钟前
2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
java·开发语言·数据库·python·安全·web安全·django
2401_8942419216 分钟前
基于C++的反射机制探索
开发语言·c++·算法