美文网首页Swift
Swift Day09 方法、继承、属性

Swift Day09 方法、继承、属性

作者: 望穿秋水小作坊 | 来源:发表于2020-12-06 22:27 被阅读0次
    1. 方法有哪两种?都可以定义在枚举、结构体、类中吗?
    • 实例方法(Instance Method):通过实例调用
    • 类型方法(Type Method):通过类型调用,用 static 或者 class 关键字定义
    2. self 在实例方法和类型方法中代表什么?
    • 在实例方法中代表实例
    • 在类型方法中代表类型
    3. 说一下 mutating 关键字的作用?
    • 结构体和枚举是值类型,默认情况下,值类型的属性不能被自身的实例方法修改
    • func 关键字前加 mutating可以运行这种修改行为
    mutating
    4. 如何给任意类型(枚举、结构体、类),添加下标功能?
    • 使用 subscript 可以给任意类型(枚举、结构体、类)增加下标功能,有些地方也翻译为:下标脚本
    • subscript 的语法类似于实例方法、计算属性
    • subscript 的本质就是方法(函数)
    5. swift 中类型支持继承?哪些不支持继承?
    • 枚举和结构体不支持继承,只有支持继承
    6. 什么是基类? Swift 中的基类OC中的基类一样吗?
    • 没有父类的类,称为:基类
    • Swift 并没有像 OC、Java 那样的规定:任何类最终都要继承自某个基类
    7. 子类可以重写父类的什么?重写必须要用什么关键字?
    • 一般情况下,子类可以重写父类的下标、方法、属性
    • 重写必须加上 override 关键字
    • 使用 override 关键字其实是 Swift 很好的特点,这样一看就知道这个方法是重写了父类的,非常明确
    8. 类型方法可以重写吗?(分两种情况)
    • class 修饰的类型方法、下标,允许被子类重写
    • static 修饰的类型方法、下标,不允许被子类重写
    9. 重写属性的时候,有哪些注意点?(至少说三点)
    重写属性
    10. 子类可以为父类的存储属性和计算属性添加属性观察器吗?
    • 一般情况下,可以添加属性观察器
    • 特殊情况:只读属性和 let 属性,不能添加属性观察器
    11. 如果不希望属性被重写、或者类被继承,你要怎么做?
    • final 修饰的方法、下标、属性,禁止被重写
    • final 修饰的类,禁止被继承

    相关文章

      网友评论

        本文标题:Swift Day09 方法、继承、属性

        本文链接:https://www.haomeiwen.com/subject/bwpawktx.html