📅  最后修改于: 2021-01-11 08:00:56             🧑  作者: Mango
Swift类,结构和枚举用于准备在Swift4中声明的类的实例。为存储的属性初始化初始值。值被初始化以进一步进行。 'init()'方法用于创建初始化函数。 Swift 4初始化程序与Objective-C不同,因为它不返回任何值。它的函数是在处理之前检查新创建实例的初始化。一旦实例被释放,Swift 4还提供了“反初始化”过程来执行内存管理操作。
存储的属性必须在处理实例之前为其类和结构初始化实例。存储的属性使用初始化程序来分配和初始化值,而无需调用属性观察器。
init() {
//New Instance initialization goes here
}
struct cube {
var length: Double
var breadth: Double
var height: Double
init() {
length = 6
breadth = 12
height = 4
}
}
var volume = cube()
print("volume of cube is \(volume.length*volume.breadth*volume.height)")
输出:
volume of cube is 288.0
这里,
在Swift4编程语言中,init()函数用于在声明类或结构成员时默认情况下初始化属性值。当属性在整个程序中单独具有相同的值时,我们可以在声明部分中单独声明它,而不用在init()中对其进行初始化。当为类或结构定义继承时,默认情况下设置属性值将启用用户。
struct cube {
var length = 6
var breadth = 12
var height = 4
}
var volume = cube()
print("volume of the cube is \(volume.length*volume.breadth*volume.height)")
输出:
volume of cube is 288
在Swift4语言中,用户可以使用init()将参数初始化为初始化程序定义的一部分。
struct Rectangle {
var length: Double
var breadth: Double
var area: Double
init(fromLength length: Double, fromBreadth breadth: Double) {
self.length = length
self.breadth = breadth
area = length * breadth
}
init(fromL l: Double, fromB b: Double) {
self.length = l
self.breadth = b
area = l * b
}
}
let a1 = Rectangle(fromLength: 6, fromBreadth: 12)
print("area is: \(a1.area)")
let a2 = Rectangle(fromL: 36, fromB: 12)
print("area is: \(a2.area)")
输出:
area is: 72.0
area is: 432.0