美文网首页Swift
Swift Day10 多态 类初始化器

Swift Day10 多态 类初始化器

作者: 望穿秋水小作坊 | 来源:发表于2020-12-08 21:33 被阅读0次
    1. 请观察下面两段代码的汇编有什么不同?
    class 和 struct 的区别
    • 我们首先看 struct 的汇编
    struct 汇编代码观察
    • 我们再查看 class 的汇编


      class 的汇编
    • 可以看到,class 的生成的汇编复杂太多了

    speak 的真实地址
    • 我们可以看到 speak 的真实地址,和我们前面计算所得一致
    2. 你理解的多态是什么?
    • 同一个类实例对象,在调用同一个方法时,可能会出现种的处理
    同是 anim 实例,同样的 speak 和 eat 方法调用,不同的结果
    3. 简单描述下,实例对象,类信息,方法列表三者之间的存储关系?
    存储关系
    4. 类的初始化器有哪两种?这种设计有什么好处?使用什么关键字来区分?
    • 指定初始化器(designated initializer): 仅仅支持纵向调用
    • 便捷初始化器(convenience initializer):仅仅支持横向调用
    • 这种设计是为了编码安全
    • 使用 convenience 关键字来定义便捷初始化器
      概念
    5. 说说什么是 Swift 的两段初始化?两段初始化的目的?(了解有这么个东西即可)
    两段初始化
    6. 自动继承(了解有这么个东西即可)
    自动继承

    相关文章

      网友评论

        本文标题:Swift Day10 多态 类初始化器

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