swift protocol (协议)的简单理解

​协议用来给类型增加限制 增加所需要的变量列表 方法等
声明所需的变量列表 必须实现!
协议将没有公共父类但有类似行为的对象归为一类
类似纯虚函数 接口
只能声明不能实现

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
食人花 吃人了

你可能感兴趣的:(swift protocol (协议)的简单理解)