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

相关推荐
周杰伦fans11 小时前
AutoCAD .NET 二次开发:深入理解 EntityJig 的工作原理与正确实现
开发语言·.net
Bat U13 小时前
JavaEE|多线程初阶(七)
java·开发语言
谭欣辰13 小时前
C++ 排列组合完整指南
开发语言·c++·算法
国科安芯14 小时前
核电站仪控与监测系统中抗辐射 MCU 芯片应用研究
单片机·嵌入式硬件·macos·无人机·cocos2d·核电站
foundbug99914 小时前
自适应滤除直达波干扰的MATLAB实现
开发语言·算法·matlab
XDH_CS14 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
@大迁世界14 小时前
14个你现在必须关闭的 iOS 26 设置,不然手机很快被它榨干
macos·ios·智能手机·objective-c·cocoa
健忘的萝卜14 小时前
Clawdbot 爆红硅谷,也把 AI Agent 和 Mac mini 推上风口
人工智能·macos·agent·数字员工·clawbot
小短腿的代码世界14 小时前
Qt实时盈亏计算深度解析:从持仓数据到动态盈亏展示
开发语言·qt