一,语法说明
import Foundation
protocol Action{
var myName:String{
get
set
}
var myAge:String{
get
}
func getMyName()->String
}//协议接口
class MyAction: Action{
var thisName:String = ""
var myName:String{
get{
return "adrian"
}
set{
thisName = newValue
}
}
var myAge:String{
get{
return "hello"
}
}
func getMyName() -> String {
return "adrian"
}
}
如果同时继承基类和协议,基类写在协议的前面并用逗号隔开。
class allAction{
}
class myAction:allAction,Action{
}
协议可以作为类型,可以被继承,可以合并
var sample:Action = MyAction()//协议可作为类型
protocol thisAction:Action{
}//协议可继承
func hello(s:protocol<Action,thisAction>){
}//协议合并