println("area is: (rearea.length)")
let recarea = Rectangle(110.0)
println("area is: (recarea.length)")
当我们使用 playground 运行上面的程序,得到以下结果。
area is: Optional(180.0)
area is: Optional(370.0)
area is: Optional(110.0)
默认初始化器
默认初始化提供给基类或结构的所有声明属性的新实例默认值。
class defaultexample {
var studname: String?
var stmark = 98
var pass = true
}
var result = defaultexample()
println("result is: (result.studname)")
println("result is: (result.stmark)")
println("result is: (result.pass)")
当我们使用 playground 运行上面的程序,得到以下结果。
result is: nil
result is: 98
result is: true
上述程序中定义了类的名字为 “defaultexample'。三个成员函数默认初始化为“studname?”存储值为 'nil' , “stmark”为98和“pass”的布尔值 “true”。 同样,在类中的成员的值可以处理的类成员类型前初始化为默认值。
按成员初始化器结构类型
当不提供由用户自定义的初始化,在Swift 结构类型将自动接收“成员逐一初始化”。它的主要功能是初始化新的结构实例逐一初始化的默认成员,然后在新的实例属性逐一通过名字传递给成员初始化。
struct Rectangle {
var length = 100.0, breadth = 200.0
}
let area = Rectangle(length: 24.0, breadth: 32.0)
println("Area of rectangle is: (area.length)")
println("Area of rectangle is: (area.breadth)")
当我们使用 playground 运行上面的程序,得到以下结果。
Area of rectangle is: 24.0
Area of rectangle is: 32.0
结构由默认初始化为“length”为“100.0”和“breadth”为“200.0”,初始化期间为它们的成员函数。但长度和宽度的变量值在处理过程中覆盖为24.0和32.0。








