From 464af08c7fbabb5c3beb93f2133bd57ed4ce8ff2 Mon Sep 17 00:00:00 2001 From: RockyMyx Date: Wed, 25 Jun 2014 17:39:11 +0800 Subject: [PATCH] =?UTF-8?q?Extension=E7=BF=BB=E8=AF=91=E6=96=87=E5=AD=97?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改时忘记把原文删掉了,而且貌似语句还是不太通顺,所以重新提交下。 --- source/chapter2/20_Extensions.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/chapter2/20_Extensions.md b/source/chapter2/20_Extensions.md index 1663bc79..71e493d9 100755 --- a/source/chapter2/20_Extensions.md +++ b/source/chapter2/20_Extensions.md @@ -96,11 +96,8 @@ println("A marathon is \(aMarathon) meters long") 扩展能向类中添加新的便利构造器,但是它们不能向类中添加新的指定构造器或析构函数。指定构造器和析构函数必须总是由原始的类实现来提供。 > 注意: -如果你使用扩展向一个值类型添加一个构造器,该构造器向所有的存储属性提供默认值,而且没有定义任何定制构造器(custom initializers),那么对于来自你的扩展构造器中的值类型,你可以调用默认构造器(default initializers)和逐一成员构造器(memberwise initializers)。 -正如在值类型的构造器授权中描述的,如果你已经把构造器写成值类型原始实现的一部分,上述规则不再适用。 +如果你使用扩展向一个值类型添加一个构造器,在该值类型已经向所有的存储属性提供默认值,而且没有定义任何定制构造器(custom initializers)时,你可以在值类型的扩展构造器中调用默认构造器(default initializers)和逐一成员构造器(memberwise initializers)。 - -如果你使用扩展向一个值类型添加一个构造器,如果该值类型已经向所有的存储属性提供默认值,而且没有定义任何定制构造器(custom initializers),那么你可以在值类型的扩展构造器中调用默认构造器(default initializers)和逐一成员构造器(memberwise initializers)。 正如在值类型的构造器委托中描述的,如果你已经把构造器写成值类型原始实现的一部分,上述规则不再适用。