swift基础之协议
分为:
一、协议初步
1、协议的定义
2、协议的语法
3、协议对属性,方法,构造器的规定
4、协议类型
二、协议进阶
1、利用协议实现代理模式
2、协议继承
3、类的专属协议
4、协议合成
5、协议检查
6、协议扩展
一、协议初步
1、协议的定义
协议类似于其他语言的接口,用来规定要实现的某些特定功能必须的属性和方法
类、结构体、枚举都可以实现协议规定的方法和属性 叫做遵循协议
使用方法: 冒号“ : ” 协议的名字
遵循多个协议,用逗号“ , ” 隔开
2、语法
protocolSomeProtocol {
//协议内容
//规定的属性,方法、构造器
}
3、协议对属性,方法,构造器的规定
//协议对属性的规定
protocoloneProtocol {
var canFly :Bool{
get}//只读
var name :String {
get set}//读写
var amplitude :Double{
get set}
var frequency :Double{
get set}
}
//协议对方法的规定
要求实现特定的实例方法或者类方法,不支持参数默认值
实例方法,
只需要指定函数名,参数,返回值 不需要括号
protocol FlyProtocol {
func fly()//无参数,无返回值
func speed() ->Double//无参数,有返回值
}
类型方法
相当于OC类方法 需要在方法名前加 static
protocol
SomeProtocol {
static func Funtion(value: String ) -> String
static func Funtion(value: String ) -> String
}
构造器 遵循构造器必须 使用 必须关键字 required
protocol
SomeProtocol {
init (name: String )
init (name: String )
}
protocol
someProtocol {
var name: String { get } // 属性
var ag
var name: String { get } // 属性
var ag