面向协议编程(POP)是 Swift 首选的行为共享方式:类型遵循协议而不是继承自基类,而协议扩展则提供可复用的默认实现。这让你在没有单继承那种僵化性的前提下获得组合与代码复用。
工作原理
协议声明需求;该协议上的扩展提供默认行为,任何遵循者都能免费继承。
swift
{
id: { }
}
{
name: { }
}
{
() -> { }
}
: , {
id:
name:
}
(id: , name: ).describe()
