Swift Day10 多态 类初始化器

1. 请观察下面两段代码的汇编有什么不同?
class 和 struct 的区别
  • 我们首先看 struct 的汇编
struct 汇编代码观察
  • 我们再查看 class 的汇编


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

speak 的真实地址
  • 我们可以看到 speak 的真实地址,和我们前面计算所得一致
2. 你理解的多态是什么?
  • 同一个类实例对象,在调用同一个方法时,可能会出现种的处理
同是 anim 实例,同样的 speak 和 eat 方法调用,不同的结果
3. 简单描述下,实例对象,类信息,方法列表三者之间的存储关系?
存储关系
4. 类的初始化器有哪两种?这种设计有什么好处?使用什么关键字来区分?
  • 指定初始化器(designated initializer): 仅仅支持纵向调用
  • 便捷初始化器(convenience initializer):仅仅支持横向调用
  • 这种设计是为了编码安全
  • 使用 convenience 关键字来定义便捷初始化器
    概念
5. 说说什么是 Swift 的两段初始化?两段初始化的目的?(了解有这么个东西即可)
两段初始化
6. 自动继承(了解有这么个东西即可)
自动继承
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容