 let twoByTwo = Size(width: 2.0, height: 2.0)
 
 // 值类型的构造器代理
-// 构造器可以通过调用其他构造器来完成部分构造过程，这一过程称为构造器代理，他能减少多个构造器之间的代码重复。
+// 构造器可以通过调用其他构造器来完成部分 构造过程，这一过程称为构造器代理，他能减少多个构造器之间的代码重复。
 // 对于值类型, 可以使用self.init在自定义的构造器中引用其它的属于相同值类型的构造器。并且只能在内部调用self.init。
 struct Point {
     var x = 0.0, y = 0.0

let halfGray = Color(white: 0.5)

// 不带外部名的构造器参数
// 为构造器的某个参数不停工外部名字，可以使用下划线_来显示描述它的外部名。
struct Celsius1 {
    var temperaturelnCelsius = 0.0
    init(fromFahrenheit fahrenheit: Double) {

// 两段式构造过程
// Swift中类的构造过程包含两个阶段。第一个阶段，每个存储型属性通过引入它们的类的构造器来设置初始值。每当一个存储型属性被确定后，第二阶段开始，它给每个类一次机会在新实例准备使用之前进一步定制它们的存储型属性。第二个阶段开始，它给每个类一次机会在新实例准备使用之前进一步定制它们的存储型属性。

// 便利构造器

// 构造器的继承和重写
// swift中的子类不会默认继承父类的构造器。
// 当你




















