Protocol က class, struct, enum တစ်ခုက ဘယ် property/method တွေရှိရမလဲဆိုတဲ့ contract ပါ။ Swift development မှာ protocol-oriented programming ကိုအများကြီးသုံးကြပါတယ်။
Protocol သုံးခြင်းက concrete type တစ်ခုတည်းနဲ့မချိတ်ဘဲ behavior ပေါ်မူတည်ပြီး code ရေးနိုင်စေပါတယ်။ Testing, dependency injection, reusable components တွေမှာအလွန်အသုံးဝင်ပါတယ်။
swift
protocol Payable {
var amount: Double { get }
func pay()
}
struct CreditCardPayment: Payable {
let amount: Double
func pay() {
print("Paid $\(amount) with credit card")
}
}
let payment = CreditCardPayment(amount: 29.99)
payment.pay()Payable protocol က amount property နဲ့ pay() method ရှိရမယ်လို့သတ်မှတ်ပါတယ်။ CreditCardPayment struct က အဲဒီ contract ကိုလိုက်နာထားပါတယ်။
You should see
Paid $29.99 with credit card