IOS面试题——Swift继承(11)
一 面试题汇总
- 值类型并不支持继承,只有类支持继承
- Swift中是否有类似NSObject的基类?
- Swift如何重写父类的下标、方法、属性?override
- 如何限制不能被重写,或者不能被继承?final
- 是否可以重写存储属性?
- let修饰的属性能否重写?
- static修饰的属性能否被重写?
二 面试题解答(仅供参考)
2.1 值类型并不支持继承,只有类支持继承
1 | 在 Swift 中,值类型(Value Types)和引用类型(Reference Types)有不同的特性。 |
2.2 Swift中是否有类似NSObject的基类?
1 | Swift 中没有像 NSObject 这样的统一基类,但是可以使用 NSObject 作为基类来访问 Objective-C 特性。 |
2.3 Swift如何重写父类的下标、方法、属性?override
1 | 使用 override 关键字可以重写父类的下标、方法和属性。 |
2.4 如何限制不能被重写,或者不能被继承?final
1 | final 关键字用于防止类被继承或防止方法、属性、下标被重写。 |
2.5 是否可以重写存储属性?
1 | 存储属性不能被直接重写,因为它们是类或结构体实例的基础数据。 |
2.6 let修饰的属性能否重写?
1 | let 修饰的属性不能被重写,因为它在父类中被声明为常量,子类无法修改该值。 |
2.7 static修饰的属性能否被重写?
1 | static 修饰的属性不能被重写。它是类型级别的属性,不支持继承或重写。 |
三 参考
- 简书—Swift继承