美文网首页
iOS的协议@protocol和接口@interface

iOS的协议@protocol和接口@interface

作者: 小黑Unity_齐xc | 来源:发表于2019-06-25 08:26 被阅读0次

@protocol 类似于java中的interface

1、声明方法,不实现方法;
2、定义属性@property,仅是getter setter形式的声明

@protocol 语法:

@protocol SportProtocol <NSObject>
- (void)playFootball;
- (void)playBasketball;
- (void)run;
@end

@protocol关键词

@required:这个方法必须实现,默认就是required(若不实现,编译会报错)
@optional:这个方法不一定要实现

示例:
@protocol SportProtocol <NSObject>
@required
- (void)playFootball;
- (void)playBasketball;

@optional
- (void)run;
- (void)readSportType;
@end

@interface类似于java的类声明

1、使用协议的类,必须实现协议中的方法(与java的实现类似)
2、一个类可以遵循1个或多个协议(与java的实现类似)

@interface语法:

#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Person : NSObject<SportProtocol>

@end

@interface集成+协议

#import <Foundation/Foundation.h>
#import "SportProtocol.h"
@interface Person : NSObject<SportProtocol>
@end
----------------------
#import "Person.h"
@interface Student : Person
@end
----------------------

参考:
https://www.jianshu.com/p/2c67eebfaa3d

相关文章

网友评论

      本文标题:iOS的协议@protocol和接口@interface

      本文链接:https://www.haomeiwen.com/subject/ilcaqctx.html