摘要訊息 : 學習 Swift 中的協議.
0. 前言
本文于 2022 年 3 月 18 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.
1. 协议的作用
协议是为方法和属性等定义一套规范, 协议是一个描述了方法或者属性的骨架, 并没有具体去实现.
2. 协议的定义
protocol 协议名称 {
协议内容
}
3. 协议的继承
protocol walking {
func walk()
}
protocol running : walking {
func run()
}
4. 类中协议的实现
现在创建一个 sport
类, 让它必须遵循 walking
和 running
协议
protocol walking {
func walk()
}
protocol running : walking {
func run()
}
class sport : running {
var name = "Jonny"
func walk() {
print("\(name) is walking!")
}
func run() {
print("\(name) is running!")
}
}
var handsome = sport()
handsome.walk()
handsome.run()
/* 结果 :
Jonny is walking!
Jonny is running!
*/
如果 sport
类中, 并没有遵循 walking
和 running
协议, 其中缺少相关方法和属性, 编译器会报错 :
protocol walking {
func walk()
}
protocol running : walking {
func run()
}
class sport : running {
var name = "Jonny"
/*func walk() { // 编译器报错
print("\(name) is walking!")
}*/
func run() {
print("\(name) is running!")
}
}
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :