swift协议

一、协议的概念
协议动议了一个大致的框架,规定里有哪些属性和方法,至于这个属性的值是多少或者方法怎么实现都不管

二、定义协议的语法
protocol 协议名{
// 属性
//方法

}
三、属性定义的要求
协议中定义的属性必须遵循以下原则:
1、不能用默认值
2、必须指明类型:{set get } 来表明属性是可读可写的,刻度属性则用{get}
3、必须用var修饰

四、方法定义要求
1、方法不能有方法体
2、定义协议中的方法不可以传默认值

protocol Pet{
    var name:String{get set}
    var age:Int{get}
    func eat(food:String)//方法不能有方法体
    func sleep(stop:String)
}

一、遵循协议的语法
clas 类:父类,协议1,协议2{

}继承某个父类,并遵循协议1和协议2

二、遵循协议的规则
1、属性可以设置默认值
2、协议中属性为可读可写,必须声明为var
3、协议中属性为可读的,视实现中可声明let或者var

实现协议中的方法:
1、方法中的参数可以传默认值

//遵循协议 
clas Cat:Pet{
//可读可写属性必须用var
    var name:String = "mini"
//只读属性可以用let修饰
    let age:Int = 18
    
    func eat(food:String){
        print("\(name)吃\(food)")
    }
    func sleep(stop:String){
        print("\(stop)")
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 协议 定义了一个蓝图,规定了用来实现某一特定任务或者功能的方法、属性,以及其他需要的东西。类、结构体或枚举都可以遵...
    CDLOG阅读 3,173评论 0 0
  • 转载:http://www.jianshu.com/p/e70bd6645d88前言 熟悉Objective-C语...
    guoshengboy阅读 4,642评论 0 1
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,893评论 2 9
  • 最近项目使用的是OC,后头看之前用Swift开发的一个项目时,发现很多细节都忘记了😭😭。为了回忆和以后方便查看,现...
    wg刚阅读 3,262评论 1 4
  • 中文文档 协议 定义了一个蓝图,规定了用来实现某一特定任务或者功能的方法、属性,以及其他需要的东西。类、结构体或枚...
    伯wen阅读 2,875评论 0 0