Protocol(协议)和一些注意事项

Protocol协议:
如何声明一个协议


Paste_Image.png

File type 选择Protocol
如何让一个类遵守一个协议:在.h文件中的继承类后面<协议名称>
@interface Person : NSObject <SprotProtocol>


协议和继承的区别:
-继承之后默认就有实现,而Protocol只有声明没有实现
-相同类型的类可以使用继承,但是不同类型的类只能使用protocol
例:男人女人都可以走可以跑,走和跑的方法继承人这个类。狗,猫这些不是人这个类,但是猫和狗也想有走和跑的方法这时候就可以 使用protocol
-protocol可以用于存储方法的声明,可以将多个类中的共同方法抽取出来,以后让类遵守协议即可


协议的注意点

  • Protocol只能声明方法,不能声明属性
  • 父类遵守了谋个协议,子类也会遵守父类的协议
  • oc中一个类可以遵守1个或多个协议,并且oc只有一个父类
  • oc中的协议可以同时遵守其他协议,只要一个协议遵守了其他协议,那么这个协议就会自动包含其他协议的声明@protocol StudyProtocol <SportProtocol>
  • @required关键字 :方法必须要实现(若不实现,编译器会报错)
  • @optional关键字 :方法不一定要实现
  • 默认情况下没有使用任何关键字修饰协议中的方法,那么该方法默认是required的
#import <Foundation/Foundation.h>
#import "SportProtocol.h"
#import "StudyProtocol.h"
@interface Person : NSObject<StudyProtocol,SportProtocol>
-(void)playFootball;
-(void)study;  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容