@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
`协议(Protocol)`用于定义完成某项任务或功能所必须的方法和属性,协议实际上并不提供这些功能或任务的具体`实现(Implementation)`--而只用来描述这些实现应该是什么样的。类,结构体,枚举通过提供协议所要求的方法,属性的具体实现来`采用(adopt)`协议。任意能够满足协议要求的类型被称为协议的`遵循者`。
|
`协议(Protocol)`用于定义完成某项任务或功能所必须的方法和属性,协议实际上并不提供这些功能或任务的具体`实现(Implementation)`--而只用来描述这些实现应该是什么样的。类,结构体,枚举通过提供协议所要求的方法,属性的具体实现来`采用(adopt)`协议。任意能够满足协议要求的类型被称为协议的`遵循者`。
|
||||||
|
|
||||||
`协议`可以要求其`遵循者`提供特定的实例属性,实例方法,类方法,操作符或`下标(subscripts)`等。
|
`协议`可以要求其`遵循者`提供特定的实例属性,实例方法,类方法,操作符或下标脚本等。
|
||||||
|
|
||||||
<a name="protocol_syntax"></a>
|
<a name="protocol_syntax"></a>
|
||||||
## 协议的语法
|
## 协议的语法
|
||||||
@ -378,7 +378,7 @@ game.play()
|
|||||||
<a name="adding_protocol_conformance_with_an_extension"></a>
|
<a name="adding_protocol_conformance_with_an_extension"></a>
|
||||||
## 在扩展中添加协议成员
|
## 在扩展中添加协议成员
|
||||||
|
|
||||||
即便无法修改源代码,依然可以通过`扩展(Extension)`来扩充已存在类型(*译者注: 类,结构体,枚举等*)。`扩展`可以为已存在的类型添加`属性`,`方法`,`下标`,`协议`等成员。详情请在[扩展](4)章节中查看。
|
即便无法修改源代码,依然可以通过`扩展(Extension)`来扩充已存在类型(*译者注: 类,结构体,枚举等*)。`扩展`可以为已存在的类型添加`属性`,`方法`,`下标脚本`,`协议`等成员。详情请在[扩展](4)章节中查看。
|
||||||
|
|
||||||
> 注意: 通过`扩展`为已存在的类型`遵循`协议时,该类型的所有实例也会随之添加协议中的方法
|
> 注意: 通过`扩展`为已存在的类型`遵循`协议时,该类型的所有实例也会随之添加协议中的方法
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user