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)以及基本类设计和方法调用的掌握程度。

相关推荐
Rebecca.Yan8 小时前
Claude Code 深度学习
macos
for_ever_love__9 小时前
LangChain Token 计数与成本控制:先知道钱花在哪
开发语言·langchain
m0_547486669 小时前
《数据结构 (C语言)》期末试卷及答案(10套)2026版
c语言·开发语言·数据结构
Sand(ContextGate)9 小时前
从开发者调试工具到消费级 App:一个 AI 电商导购项目的 C 端改造与 6 个连环踩坑实录
开发语言·人工智能·python·ai·langchain
白杨尚青9 小时前
C++入门篇(十七):priority_queue 完整模拟实现——仿函数、区间建堆与指针特化(附完整代码仓库)
开发语言·c++·stl·仿函数
逐光者9339 小时前
滤波器的 R 与 C 如何选择:从截止频率到工程实践
c语言·开发语言·r语言
Eider19989 小时前
大模型输出格式幻觉解决思路
开发语言·前端·javascript
hey you~9 小时前
嘈杂环境ASR识别优化:降噪、VAD切分与Whisper模型微调完整教程(2026版)
macos·whisper·xcode
Want5959 小时前
Python太极八卦图
开发语言·python
饕餮争锋9 小时前
python开发工具uv简介
开发语言·python·uv