面向对象编程中的继承、多态与运算符重载
1. 继承与类的初始化
在面向对象编程中,继承是一个重要的概念。以 TerrierDog
类为例,它有多个初始化器。其中一个初始化器需要 age
、 name
和 favoriteToy
来创建实例,另一个还添加了 isPregnant
参数。这两个初始化器都会先调用父类的初始化器,然后调用私有方法 initializeTerrierDog
,该方法会打印一条消息表明 TerrierDog
类的实例已创建。
// 假设这是 TerrierDog 类的部分代码示例
class TerrierDog {
init(age: Int, name: String, favoriteToy: String) {
// 调用父类初始化器
super.init()
initializeTerrierDog()
}
init(age: Int, isPregnant: Bool, name: String, favoriteToy: String) {
// 调用父类初始化器
super.init()
initializeTerrierDog()
}
private func initializeTerrierDog() {
print("TerrierDo