iT邦幫忙

0

IOS Swift Protocol經典範例

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


尚未有邦友留言

立即登入留言