import Foundation
需求:希望把playBasketball()設(shè)計(jì)為可選,可以實(shí)現(xiàn)也可以不實(shí)現(xiàn)
方案:通過擴(kuò)展協(xié)議實(shí)現(xiàn)方法可選
步驟:
把協(xié)議擴(kuò)展,把不想實(shí)現(xiàn)的方法在擴(kuò)展中實(shí)現(xiàn)。
protocol Protocol1{
func playBasketball()//希望這個(gè)方法可選
func playFootball()
}
//擴(kuò)展該協(xié)議,那即通過擴(kuò)展可以給可選方法一個(gè)默認(rèn)實(shí)現(xiàn),后面實(shí)不實(shí)現(xiàn)無所謂。
extension Protocol1{
func playBasketball(){
print("打籃球")
}
}
class Student:Protocol1{
func playFootball() {
}
}