1,Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方法名、返回值、参数等信息,而没有具体的方法实现。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
protocol Person {
//读写属性
var name: String { get set }
//只读属性
var age: Int { get }
//类型方法
class func method1()
//实例方法
func method2() -> Int
//突变方法
mutating func method3()
} |
2,协议可以继承另一个协议
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
protocol Animal {
func move()
} protocol Bird : Animal {
func song()
} class Chiken : Bird {
func song(){
println ( "母鸡咯咯" )
}
func move(){
println ( "母鸡走" )
}
} |
3,如果某个类集继承了某个父类,又遵循了某个协议,那么冒号后面应该先写父类,再写协议
1
2
|
class CC :继承的父类, 协议1, 协议2{
} |