美文网首页Swift互动教程
6.3 使用协议(protocol)进行方法的声明 [Swift

6.3 使用协议(protocol)进行方法的声明 [Swift

作者: 互动教程网 | 来源:发表于2018-04-11 16:45 被阅读16次

1. 本节课将为你解析协议的使用方法。协议规定了用来实现某个功能所需要的方法和属性。协议能够被类、结构体等具体实现(或遵守)。

image

2. 协议定义了方法的蓝图,属性和其它适合特定任务或功能的要求。定义协议与定义类、结构和枚举非常相似。

image

3. 然后在两个大括号之间,填写协议的内容。这里声明了一个方法,它被视为协议定义的一部分,跟普通实例和类型方法完全一样,但是没有方法体。

image

4. 使用相同的方式,定义另一个名为Eating的协议。

image

5. 协议可以遵守另一个协议,将需要遵守的协议名称放在当前协议名称的后方,之间使用冒号进行分隔。

image

6. 接着定义了一个类,并使该类遵循两个协议,类名和协议名称之间仍然使用冒号进行分隔,而协议名称之间则使用逗号进行分隔。

image

7. 从错误提示可以看出,当前的类,需要实现协议中声明的三个方法。点击修复按钮,系统将自动补充需要遵守的方法。

image

8. 接着依次实现三个来自协议的方法。

image

9. 在第一个方法中输出相应的日志语句。

image

10. 在第二个方法中输出相应的日志语句。

image

11. 最后在第三个方法中输出相应的日志语句。

image

12. 给当前的类添加一个名称属性,并设置它的默认值。

image

13. 继续添加另外两个属性,分别表示年龄和伤害值。

image

14. 添加一个实例方法,并在控制台输出相应的日志。该方法并不是来自协议的方法。

image

15. 接着初始化一个类的实例。

image

16. 然后查看实例的伤害属性的值为10。

image

17. 调用实例的协议方法,从第25行代码右侧的结果可以看出,该方法被正确调用。

image

18. 然后依次调用其它的方法,接着点击底部的显示调试区图标,打开控制台。

image

19. 在控制台输出了由被调用方法打印的日志。

image

20. 对类进行扩展,同样可以实现类似的功能增强。继续对动物类进行扩展。

image

21. 然后添加一个浮点类型的扩展属性,当访问该属性时,返回特定的值。

image

22. 接着添加一个扩展方法,当调用该方法时,返回特定的值。

image

23. 初始化一个类的实例。然后点击右侧的显示结果图标,查看该实例对象的详细内容。

image

24. 继续编写代码,调用类的方法。

image

25. 调用类的自定义方法。

image

26. 最后调用类的扩展方法,以扩展的方式,实现了和协议类似的功能。

image

image

本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

相关文章

  • 6.3 使用协议(protocol)进行方法的声明 [Swift

    1. 本节课将为你解析协议的使用方法。协议规定了用来实现某个功能所需要的方法和属性。协议能够被类、结构体等具体实现...

  • Swift面向协议编程总结

    Swift面向协议编程 所谓面向协议编程,就是使用protocol声明方法,然后使用extension提供默认的实...

  • Swift - 协议(protocol)

    Swift - 协议(protocol) 1、Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方...

  • Swift5.1 - 协议(10)

    协议(Protocol) 使用 protocol 关键字来定义一个协议; 协议可以用来定义方法、属性、下标的声明;...

  • 10.2 协议

    协议使用protocol关键字来创建,其中可以声明属性与方法。

  • iOS Swift 组建化探讨

    利用 Swift 的协议实现组建化,在 Protocol 中声明约定,在各子模块中扩张协议实现方法,主项目自由组合...

  • Swift---协议和扩展、 错误处理、泛型

    使用协议声明协议。 protocol ExampleProtocol { var simpleDescri...

  • 协议 protocol

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

  • OC协议的默认实现

    Swift 中,定义协议 protocol 时,可以使用 extension 给它的某些方法提供默认实现: 有了上...

  • Swift与OC对比学习delegate代理

    OC中使用代理 委托方(子控制器)委托方需要实现创建协议 、声明协议方法 @protocol SubViewDel...

网友评论

本文标题:6.3 使用协议(protocol)进行方法的声明 [Swift

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