类的本质
来源:互联网 发布:美工设计是什么 编辑:程序博客网 时间:2024/06/08 16:52
1. 类加载,当类第一次被访问的时候,这个类就会被加载到代码段存储起来
2. 存储的步骤:
a) 先在代码段中创建1个Class对象,Class是foundation框架中得一个类,这个Class对象就是用来存储类信息的
b) 将类存储在这个Class对象之中
i. 这个Class对象,至少有3个属性
1. 类名:存储这个类的类名
2. 属性s:存储这个类具有哪些属性
3. 方法s: 存储这个类具有哪些方法
所以.类是以Class对象的形式存储在代码段的.
存储类的这个Class对象我们也叫做类对象. 用来存储类的1个对象.
所以,存储类的类对象也有1个叫做isa指针的属性这个指针指向存储父类的类对象.
4. 如何拿到存储在代码段中的类对象.
1). 调用类的类方法 class 就可以得到存储类的类对象的地址。
2).调用对象的对象方法class 就可以得到存储这个对象所属的类的Class对象的地址.
3).对象中的isa指针的值其实就是代码段中存储类的类对象的地址.
注意:
声明Class指针的时候不需要加* 因为在typedef的时候已经加了*了.
使用:
a) 使用类对象来调用类的类方法
b) 使用类对象来调用new方法
<span style="font-size:18px;">Person *p1 = [Person new]; Class c1 = [Person class]; //其实创建Person对象 也可以这么做. Person *p2 = [c1 new];</span>
使用类对象,只能调用类的类方法,因为类对象就等价于存在其中的类
0 0
- C++类的本质
- OC类的本质
- OC类的本质
- 深入类的本质
- 类对象的本质
- 类的本质Class
- 类的本质
- 类的本质
- 84,类的本质
- 类的本质
- 类的本质
- 类的本质
- 类的本质-类对象
- 黑马程序员---类的本质
- Objective-C -类的本质
- oc006---oc类的本质
- 黑马程序员--类的本质
- Object-c------类的本质
- linux进程通信--信号量
- eclipse配置流程
- C# HttpUtility.UrlEncode 与 JAVA URLEncoder.encode 区别
- 矩阵翻转的一个例子(C++)
- 快捷键之---全局变量的提取
- 类的本质
- win7(64)未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 (IIS)
- 利用ASIHttpRequest框架进行网络数据请求(二)—— 利用post发送表单请求数据
- codevs 1060 搞笑世界杯
- Java面试题集锦
- C++中重载、重写(覆盖)和隐藏的区别实例分析
- 23设计模式之迭代器模式(Iterator)
- 软件测试
- iOS延迟执行