美文网首页
Protocol 协议

Protocol 协议

作者: 借缕春风绽百花 | 来源:发表于2020-06-24 11:24 被阅读0次

什么是协议?

协议是一些类公有方法的抽离合并。例如,鸡,鸭,狗,猫这几个类,虽然它们有多属性都不相同,不同的外观,不同的走路方式。但是也有共同点,比如,它们都会叫,鸡是咯咯叫,鸭是嘎嘎叫,狗是汪汪叫,猫是喵喵叫,虽然叫声不同。但叫这个事是他们公有的方法,我们就可以把叫这个方法抽离出来作为协议,遵从这个协议,遵从叫这个协议的动物就可以称为会叫的动物。叫这个协议并不关心这个动物具体是喵喵叫还是嘎嘎叫,它只是声明有且必须有这个方法。

协议的结构。

@protocol InteractionProtocol <NSObject>

-(void)bleat;

@end

@protocol:表明该文件为协议文件
InteractionProtocol:协议的名称
<NSObject>:表示该协议服从名为NSObject的协议
@end:表示文件结束
-(void)bleat:该协议定义了一个名为bleat的方法,该方法未用"@optional"修饰,则该方法默认修饰词"@required",默认为必须实现的方法。若用"@optional"则说明该方法为可选方法,非必须实现。

@protocol InteractionProtocol <NSObject>

@optional
-(void)bleat;

@end

协议的使用

编写一个Cat类,并服从InteractionProtocol协议

@interface Cat : NSObject<InteractionProtocol>

@end

然后在Cat类的实现文件里实现协议的方法

-(void)bleat{
    NSLog(@"小猫喵喵叫");
    
}

在main函数中实例化该类并调用该方法

 Cat *cat = [Cat new];
        [cat bleat];

运行结果:


屏幕快照 2020-06-24 下午1.44.55.png

相关文章

  • 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/mthrfktx.html