Swift编程中的类特性、多态与类型转换
一、类的初始化与反初始化
在Swift中,当我们定义一个类的初始化方法时,如果这个初始化方法是必需的(required),它不需要标记 override ,而是标记 required ,这样可以确保这个初始化要求会传递给所有的子类。示例代码如下:
required init(name:String) {
super.init(name:name)
}
只有类(而不是其他对象类型)可以有反初始化器(deinitializer)。反初始化器使用 deinit 关键字声明,它会在类的实例销毁时由运行时自动调用。如果类有父类,子类的反初始化器会在父类的反初始化器之前调用。反初始化器通常用于执行一些清理工作,或者在控制台记录日志以确认实例正常销毁。
二、类的属性和方法
-
属性重写
- 子类可以重写继承的属性,但重写的属性必须与继承的属性具有相同的名称和类型,并且要标记
override。 - 重写的属性不能是存储属性,具体规则如下:
- 如果父类属性是可写的(存储属性或带有setter的计算属性),子类的重写可以为该属性添加setter观察器。
- 子类的重写也可以是计算属性:
- 子类可以重写继承的属性,但重写的属性必须与继承的属性具有相同的名称和类型,并且要标记
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



