(5) 在C类中定义一个构造函数,一个析构函数。
时间: 2024-02-18 16:00:06 浏览: 66
在 Swift 中,可以使用 `init` 关键字定义一个构造函数,使用 `deinit` 关键字定义一个析构函数。下面是在 C 类中定义构造函数和析构函数的示例代码:
```swift
class C {
weak var D: A?
init(D: A) {
self.D = D
print("C 类的构造函数被调用")
}
deinit {
print("C 类的析构函数被调用")
}
}
```
在上面的代码中,我们在 C 类中定义了一个构造函数,它接受一个类型为 A 的参数 D,并将其赋值给属性 D。在构造函数中,我们还打印了一条信息,用来提示构造函数被调用。另外,我们还定义了一个析构函数,在对象被销毁时会自动调用该函数。在析构函数中,我们同样打印了一条信息,用来提示析构函数被调用。需要注意的是,析构函数不接受任何参数,也不需要使用关键字 `return` 来返回值。在类 C 中,我们将属性 D 声明为弱引用,这样可以避免循环引用问题。当类 C 的实例被销毁时,由于属性 D 是弱引用,所以不会影响到类 A 的生命周期。
阅读全文