6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

原文:http://coolketang.com/staticCoding/5a99261ed50eee2ea303773b.html

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

6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

2. 协议定义了方法的蓝图,属性和其它适合特定任务或功能的要求。定义协议与定义类、结构和枚举非常相似。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

3. 然后在两个大括号之间,填写协议的内容。这里声明了一个方法,它被视为协议定义的一部分,跟普通实例和类型方法完全一样,但是没有方法体。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

4. 使用相同的方式,定义另一个名为Eating的协议。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

5. 协议可以遵守另一个协议,将需要遵守的协议名称放在当前协议名称的后方,之间使用冒号进行分隔。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

6. 接着定义了一个类,并使该类遵循两个协议,类名和协议名称之间仍然使用冒号进行分隔,而协议名称之间则使用逗号进行分隔。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

7. 从错误提示可以看出,当前的类,需要实现协议中声明的三个方法。点击修复按钮,系统将自动补充需要遵守的方法。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

8. 接着依次实现三个来自协议的方法。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

9. 在第一个方法中输出相应的日志语句。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

10. 在第二个方法中输出相应的日志语句。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

11. 最后在第三个方法中输出相应的日志语句。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

12. 给当前的类添加一个名称属性,并设置它的默认值。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

13. 继续添加另外两个属性,分别表示年龄和伤害值。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

14. 添加一个实例方法,并在控制台输出相应的日志。该方法并不是来自协议的方法。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

15. 接着初始化一个类的实例。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

16. 然后查看实例的伤害属性的值为10。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

17. 调用实例的协议方法,从第25行代码右侧的结果可以看出,该方法被正确调用。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

18. 然后依次调用其它的方法,接着点击底部的显示调试区图标,打开控制台。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

19. 在控制台输出了由被调用方法打印的日志。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

20. 对类进行扩展,同样可以实现类似的功能增强。继续对动物类进行扩展。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

21. 然后添加一个浮点类型的扩展属性,当访问该属性时,返回特定的值。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

22. 接着添加一个扩展方法,当调用该方法时,返回特定的值。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

23. 初始化一个类的实例。然后点击右侧的显示结果图标,查看该实例对象的详细内容。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

24. 继续编写代码,调用类的方法。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

25. 调用类的自定义方法。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

26. 最后调用类的扩展方法,以扩展的方式,实现了和协议类似的功能。 
6.3 使用协议(protocol)进行方法的声明 [Swift原创教程]

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


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