美文网首页
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