SwiftのProtocol
from Swiftのclass
いつ使うのか
構造体やクラスの作成時など、インターフェースとして使う
あくまでも型なので、配列の型や引数などにも指定できる
何が嬉しいのか
他の言語で似てる機能はなにか
interfaceににてる
code:swift
protocol Animal {
var name: String { get }
var age: Int { set get }
func bark() -> String
}
https://qiita.com/koher/items/ee31222b7f9b0ead3de7
interfaceと型クラスの両方の性質を持つ
overrideはない
extensionを使ってデフォルト実装を与えるか、そのprotocolの実装時に指定するのみ ref
Swiftのassociatedtype
参考
https://qiita.com/mokumoku/items/2744c68fdb4bb53d0376
https://qiita.com/abouch/items/67f9def6dc2feec3e183