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
食人花 吃人了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容