Swift 中的多态与类型转换
1. 子类属性重写
在 Swift 中,子类可以继承父类的属性并对其进行重写,既可以作为类属性,也可以作为静态属性。不过,属性重写不存储的规则仍然适用,即使重写的是静态属性。示例代码如下:
class NoisyDog : Dog {
override static var whatDogsSay : String {
return "WOOF"
}
}
2. 多态
当一种计算机语言存在类型和子类型的层次结构时,它必须解决这种层次结构对于对象类型和对象引用声明类型之间关系的含义问题。Swift 遵循多态原则,多态使基于对象的语言成为成熟的面向对象语言。
2.1 多态原则
- 替换原则 :在需要某种类型的地方,可以使用该类型的子类型代替。
- 内部标识原则 :对象的类型取决于其内部性质,无论对象如何被引用。
2.2 多态示例
以下是一个使用 Dog 类和其子类 NoisyDog 的示例:
class Dog {
func bark() {
print("woof")
}
}
class NoisyDog : Dog {
override
超级会员免费看
订阅专栏 解锁全文
2479

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



