📜  Swift初始化

📅  最后修改于: 2021-01-11 08:00:56             🧑  作者: Mango

Swift4初始化

Swift类,结构和枚举用于准备在Swift4中声明的类的实例。为存储的属性初始化初始值。值被初始化以进一步进行。 'init()'方法用于创建初始化函数。 Swift 4初始化程序与Objective-C不同,因为它不返回任何值。它的函数是在处理之前检查新创建实例的初始化。一旦实例被释放,Swift 4还提供了“反初始化”过程来执行内存管理操作。

存储属性的初始化器

存储的属性必须在处理实例之前为其类和结构初始化实例。存储的属性使用初始化程序来分配和初始化值,而无需调用属性观察器。

  • 创建一个初始值。
  • 在属性定义中分配默认属性值。
  • 要为特定数据类型初始化实例,请使用“ init()”。没有参数传递给init()函数内部。

句法:

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 

这里,

  • 结构“ cube ”使用成员长度,宽度和高度初始化为“ Double”数据类型。
  • Init()方法用于初始化新创建的成员的值。
  • 多维数据集的体积是通过调用多维数据集函数计算并返回的。

默认设置属性值

在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