Swift编程:类、初始化器、方法重写、类型转换与枚举的深入解析
类的层次结构
在编程中,除了简单的超类和子类关系,我们还可以定义一个完整的类层次结构,包含子类的子类,以此类推。可以将类层次结构想象成一棵倒置的树,树的主干是最顶层的超类,每个子类都是从主干分出的独立分支。最顶层的超类通常被称为基类,因为它为所有其他类奠定了基础。
类的初始化规则
由于类具有层次结构的特性,其初始化器的规则更为复杂,需要遵循以下额外规则:
1. 子类中的所有初始化器必须调用其父类的初始化器。
2. 子类的所有属性必须在调用父类初始化器之前进行初始化。
第二条规则使我们能够在调用初始化器之前使用 self ,但只能用于初始化其属性。在房屋初始化器中,我们会使用 super 关键字来引用当前实例,就好像它是其父类一样,以此调用父类的初始化器。
继承产生的四种初始化器
- 重写初始化器(Overriding initializer) :用于替换超类中的初始化器。例如:
class House: Building {
let numberOfBedrooms: Int
let numberOfBathrooms: Double
override init(squareFootage: Int) {
self.numberOfBedrooms = 0
self.numb
超级会员免费看
订阅专栏 解锁全文
29

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



