美文网首页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