1. 协议的作用
协议是为方法和属性等定义一套规范, 协议是一个描述了方法或者属性的骨架, 并没有具体去实现
2. 协议的定义
protocol 协议名称 {
协议内容
}
3. 协议的继承
protocol pWalking {
func walk()
}
protocol pRunning : pWalking {
func run()
}
4. 类中协议的实现
现在创建一个 cSport 类, 让它必须遵循 pWalking 和 pRunning 协议
protocol pWalking {
func walk()
}
protocol pRunning : pWalking {
func run()
}
class cSport : pRunning {
var name = "Jonny"
func walk() {
print("\(name) is walking!")
}
func run() {
print("\(name) is running!")
}
}
var handsome = cSport()
handsome.walk()
handsome.run()
/*结果 :
Jonny is walking!
Jonny is running!
*/
如果 cSport 类中, 并没有遵循 pWalking 和 pRunning 协议, 其中缺少相关方法和属性, 编译器会报错 :
protocol pWalking {
func walk()
}
protocol pRunning : pWalking {
func run()
}
class cSport : pRunning {
var name = "Jonny"
/*func walk() {
print("\(name) is walking!")
}*/
//对walk()方法进行注释
func run() {
print("\(name) is running!")
}
}
var handsome = cSport()
handsome.walk()
handsome.run()
//结果 : 编译器报错
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :