面试题答案
一键面试- 协议定义方式:
在Objective - C中,使用
@protocol
关键字定义协议。示例如下:
这里@protocol Flyable <NSObject> - (void)fly; @end
@protocol Flyable <NSObject>
表示定义一个名为Flyable
的协议,并且该协议继承自NSObject
协议(NSObject
协议提供了一些基础方法,如description
等,大多数自定义协议都会继承它)。- (void)fly;
定义了协议中的fly
方法。 - 类遵循协议及实现方法:
在类的定义中,通过在类名后尖括号内列出协议名来表示该类遵循此协议。然后在类的实现部分实现协议中的方法。
这里@interface Bird : NSObject <Flyable> @end @implementation Bird - (void)fly { NSLog(@"The bird is flying."); } @end
@interface Bird : NSObject <Flyable>
表示Bird
类继承自NSObject
类并且遵循Flyable
协议。在@implementation Bird
部分,实现了Flyable
协议中的fly
方法,打印出“The bird is flying.” 。