Swift 协议

Swift 协议,第1张

概述Swift中的协议 在object-c也称之为协议,但是在其他语言中可能被称之为接口Interface(比如说java中)还有可能被称之为纯虚函数。实际上都是一个意思。 协议主要用来规定统一的方法和属性名称,但是不实现任何功能。只有实现了协议的类才需要实现他的功能。 协议说通俗一点可以这样理解。比如USB接口在生活中很常见,但是大家有没有注意到,USB其实出现的很早,但是后来出现的一些USB带动的

Swift中的协议 在object-c也称之为协议,但是在其他语言中可能被称之为接口Interface(比如说java中)还有可能被称之为纯虚函数。实际上都是一个意思。

协议主要用来规定统一的方法和属性名称,但是不实现任何功能。只有实现了协议的类才需要实现他的功能。

协议说通俗一点可以这样理解。比如USB接口在生活中很常见,但是大家有没有注意到,USB其实出现的很早,但是后来出现的一些USB带动的小风扇,甚至于一些电饭煲都可以使用USB来通电,那么请问,USB很明显比这些小风扇,电饭煲生产时间要早很多,难道设计生产USB的人有未卜先知的能力,早就知道我们会生产USB带动的风扇吗?

其实不是的,这里就可以类比我们的协议,其实我生产USB只需要规定你有什么方法,有什么属性就行,至于方法里面该实现什么功能,我不需要规定,当你要使用USB的时候你再去规定,他是要输出多大的电压,还是要传输数据还是要干什么。我只规定你有哪几个方法,只要你实现了我的这几个方法就行,至于功能是什么我不管。这样就可以满足我风扇也可以使用USB,电饭煲也可以使用USB,甚至于以后我灯泡,电脑什么都要使用USB。


下面我们来看一下Swift中的协议是怎么定义的


protocol MyProtocol{    //协议内容        //比如,此处我们规定一个方法    func myProtocolFunc()}

我们可以看到 规定的方法是没有实现的 值规定了方法名。


我们看一个实现这个协议的类

class MyTestProtocol: MyProtocol {    func myProtocolFunc() {        println("这是协议的方法")    }}


我们可以看到如果一个类要实现某一个协议(或者多个协议),这个类可以这样定义 class 类名:协议名1,协议名2{ }

这样我们会发现这个和继承写法类似,只不过继承是但继承 而实现协议会有多个

如果即有继承又有协议那么该如何做了?

其实很多简单 我们只需要吧继承写在最前面即可


class 类名:继承类名,协议1,协议2{

按照这种方式即可



苹果开发群 :414319235 欢迎加入 欢迎讨论问题




苹果开发群 :414319235 欢迎加入 欢迎讨论问题 总结

以上是内存溢出为你收集整理的Swift 协议全部内容,希望文章能够帮你解决Swift 协议所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1091290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存