协议约定了一些属性与方法,其作用类似Java中的抽象类,Swift中类型通过遵守协议来实现一些约定的属性和方法。Swift中的协议还有一个十分有意思的特性,协议可以通过扩展来实现一些方法和附加功能。协议中定义的属性只约定名称和类型,在具体类型的实现中,其可以是存储属性也可以是计算属性,协议中还需要指定属性是可读的还是可读可写的。协议也可以通过class关键字来定义只有类可以进行遵守,示例如下:协议既然可以像其他类型一样进行使用,当然它也可以使用is,as?进行检查和转换,关于is,as的更多用法可以查看Swift关于类型转换的内容。
暂无评论