?協(xié)議用來給類型增加限制 增加所需要的變量列表 方法等
聲明所需的變量列表 必須實現!
協(xié)議將沒有公共父類但有類似行為的對象歸為一類
類似純虛函數 接口
只能聲明不能實現
protocol eat {
var name:String{get set}
func eat(name:String)
}
class Flower: eat {
var name: String="食人花"
func eat(name:String) {
print(name,"吃人了")
}
}
class Dog: eat {
var name: String{
get{return "小狗狗"}
set{}
}
func eat(name:String) {
print(name,"eat")
}
}
測試:
Flower().eat("食人花")
Dog().eat("小狗狗")
var e:eat
e=Dog()
e.eat("小狗狗")
e=Flower()
e.eat("食人花")
輸出:
食人花 吃人了
小狗狗 eat
小狗狗 eat
食人花 吃人了