From 3a76773cde127a3786a37326d35aa5fb47d36cc6 Mon Sep 17 00:00:00 2001 From: yulingtianxia Date: Sat, 14 Jun 2014 16:53:51 +0800 Subject: [PATCH 1/2] update extensions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 少翻译了一段,已补上 --- source/chapter2/20_Extensions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/chapter2/20_Extensions.md b/source/chapter2/20_Extensions.md index 1108be7a..31699edb 100644 --- a/source/chapter2/20_Extensions.md +++ b/source/chapter2/20_Extensions.md @@ -94,8 +94,9 @@ println("A marathon is \(aMarathon) meters long") ## 构造器(Initializers) -扩展可以向已有类型添加新的构造器。这可以让你扩展其它类型,将你自己的定制类型作为构造器参数,或者提供该类型的原始实现中没有包含的额外初始化选项。 +扩展可以向已有类型添加新的构造器。这可以让你扩展其它类型,将你自己的定制类型作为构造器参数,或者提供该类型的原始实现中没有包含的额外初始化选项。 +扩展能向类中添加新的便利构造器,但是它们不能向类中添加新的指定构造器或析构函数。指定构造器和析构函数必须总是由原始的类实现来提供。 > 注意: > From c5ef9d6a84e5f3b0be14df7f614178f216d0563c Mon Sep 17 00:00:00 2001 From: yulingtianxia Date: Sat, 14 Jun 2014 17:03:55 +0800 Subject: [PATCH 2/2] update extensions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按照之前构造器那章的翻译应该翻译成逐一成员构造器 --- source/chapter2/20_Extensions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/chapter2/20_Extensions.md b/source/chapter2/20_Extensions.md index 31699edb..9256d005 100644 --- a/source/chapter2/20_Extensions.md +++ b/source/chapter2/20_Extensions.md @@ -100,7 +100,7 @@ println("A marathon is \(aMarathon) meters long") > 注意: > -如果你使用扩展向一个值类型添加一个构造器,该构造器向所有的存储属性提供默认值,而且没有定义任何定制构造器(custom initializers),那么对于来自你的扩展构造器中的值类型,你可以调用默认构造器(default initializers)和成员级构造器(memberwise initializers)。 +如果你使用扩展向一个值类型添加一个构造器,该构造器向所有的存储属性提供默认值,而且没有定义任何定制构造器(custom initializers),那么对于来自你的扩展构造器中的值类型,你可以调用默认构造器(default initializers)和逐一成员构造器(memberwise initializers)。 正如在值类型的构造器授权中描述的,如果你已经把构造器写成值类型原始实现的一部分,上述规则不再适用。 下面的例子定义了一个用于描述几何矩形的定制结构体`Rect`。这个例子同时定义了两个辅助结构体`Size`和`Point`,它们都把`0.0`作为所有属性的默认值: