protocol 範例快速纪录
protocol transferMoney { func giveMoney()}class richPeople:transferMoney { func giveMoney(){ print("give you 100 dollars") }}class poorPeople { let poorPerson:transferMoney? // protocol也可以当作变数的类别,而意思为此变数的属性是某一个继承transferMoney的类别,而?代表这个属性可能有可能没有,所以后面我们会把poorPeopl丢给一个有继承transferMoney的类别,这样他就可以使用protocol的方法了 func giveMeNomey{ poorGuy?.giveMoney() // 为什么可以这样写?因爲poorGuy是某一个服从transferMoney的类别,若有值的话就可以使用protocol的方法,也就是func giveMoney(),若没有值则不会做事。 }}
实体化
let richGuy = richPeople()let poorGuy = poorPeople()poorGuy.poorPerson = richGuy// 此时把放到具有protocol transferMoney连结的类别,这已经可以使用 func giveMoney()的方法了poorGuy.giveMoney()// // give you 100 dollars