1. 请观察下面两段代码的汇编有什么不同?
class 和 struct 的区别- 我们首先看 struct 的汇编
-
我们再查看 class 的汇编
class 的汇编 -
可以看到,class 的生成的汇编复杂太多了
- 我们可以看到 speak 的真实地址,和我们前面计算所得一致
2. 你理解的多态是什么?
- 同一个类实例对象,在调用同一个方法时,可能会出现
多
种的处理态
度
3. 简单描述下,实例对象,类信息,方法列表三者之间的存储关系?
存储关系4. 类的初始化器有哪两种?这种设计有什么好处?使用什么关键字来区分?
-
指定初始化器(designated initializer):
仅仅支持纵向
调用 -
便捷初始化器(convenience initializer):
仅仅支持横向
调用 - 这种设计是为了
编码安全
- 使用
convenience
关键字来定义便捷初始化器
概念
网友评论