美文网首页
Protocol协议

Protocol协议

作者: 橙子遇到八哥 | 来源:发表于2020-03-19 17:02 被阅读0次

概念:类似C++的接口,如果要实现对应的协议就要对协议的接口进行实现
@required:要求必须实现
@optional:可以选择性实现

1. 声明

// 声明一个协议
@protocol StudentProtocol <NSObject>
@required
-(void)readbook;
-(void)doHomework;
@end

// 声明一个类实现协议
@interface Person : NSObject<StudentProtocol>
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *sex;
-(void)eat;
-(void)walk;

//override
-(void)readbook;
//override
-(void)doHomework;
@end

2. 定义

@implementation Person
-(void)eat{
    NSLog(@"Person Eat!");
}

-(void)walk{
    NSLog(@"Person Walk!");
}

-(void)readbook{
    NSLog(@"Person readbook!");
}

-(void)doHomework{
    NSLog(@"Person doHomework!");
}
@end

3. 使用


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *p = [[Person alloc]init];
        [p readbook];
        [p eat];
        [p walk];
        [p doHomework];
    }
    return 0;
}

4. 扩展

相关文章

  • Protocol

    使用protocol定义协议//Protocol Syntaxprotocol SomeProtocol { }...

  • 计网之传输层

    协议端口号(protocol port number)协议端口号(protocol port number)简称 ...

  • Protocol协议

    1.@required和@optional关键字 @required:这个方法必须要实现 @optional:这个...

  • Protocol(协议)

    // swift的协议很重要// 协议 protocol //“协议 定义了一个蓝图,规定了用来实现某一特定任务...

  • 协议(protocol)

    协议语法 遵守协议的格式 属性要求 例子 协议中定义类型属性 例子 方法要求 例子 Mutating方法要求 例子...

  • 协议 protocol

    protocol( 协议 ) 作用:声明方法 任何类只要遵守了这个( protocol )协议就拥有了这个协议的左...

  • 协议protocol

    在Boost.Asio中提供了四种基本协议: datagram protocol raw protocol seq...

  • 协议Protocol

    协议Protocol 协议:类型的合同约定,只描述外部接口,不提供具体实现 协议包含成员: 属性 实例方法 类方法...

  • 协议Protocol

    一、协议的基本概念 1、protocol它可以声明一些必须实现的方法和选择实现的方法,这与java是完全不同的 2...

  • 协议protocol

    一、 非正式协议 非正式协议就是类别,即凡是NSObject或其子类的类别,都是非正式协议。 二、协议(proto...

网友评论

      本文标题:Protocol协议

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