A.概念
类对象:类也是一个对象,是Class类型的对象
实例对象:创建的对象,有一个isa指针指向类
 
B.操作
获取内存中的内对象
1.
使用实例对象获取
Class c = [p class];
不必使用*
 
2.
使用类获取
Class c = [Person class];
 
C.类的加载
1.先加载父类,再加载子类,加载完会调用+load方法
2.类和分类的加载方法+load都会被调用
3.第一次使用类的时候,会调用+initialize方法
4.先加载父类,再加载子类,最后加载分类(依次调用+load方法),被编译就会被加载
5.先初始化父类,再初始化子类(调用+initialize方法),第一次使用的时候才会被初始化
6.类和分类的+initialize方法调用跟普通方法一样,优先调用分类的;存在多个分类并且都覆盖了+initialize方法的时候,调用最后被编译的。
—>
+load:类的加载方法===>父类、子类、分类的都会被调用
+initialize:类被第一次使用时调用的初始化方法==>父类、子类的都被调用,分类具有优先级比较
 
创建一个Student对象并初始化:
继承关系: NSObject -> Person -> Student -> GoodStudent
2014-11-13 23:51:16.600 06-类的本质[8205:303] Person被加载
2014-11-13 23:51:16.602 06-
类的本质[8205:303] Student被加载
2014-11-13 23:51:16.602 06-
类的本质[8205:303] GoodStudent被加载
2014-11-13 23:51:16.603 06-
类的本质[8205:303] Student+Study被加载
2014-11-13 23:51:16.603 06-
类的本质[8205:303] Student+Learn被加载
2014-11-13 23:51:16.604 06-
类的本质[8205:303] Person被第一次使用
2014-11-13 23:51:16.604 06-
类的本质[8205:303] Student+Learn被第一次使用
Program ended with exit code: 0
 
 
 
 

[Objective-c 基础 - 2.9] 类的本质的更多相关文章

  1. OC基础--类的本质

    类的本质: 类的本质其实也是一个对象(类对象),只要有了类对象, 将来就可以通过类对象来创建实例对象 程序中第一次使用该类的时候被创建,在整个程序中只有一份.此后每次使用都是这个类对象,它在程序运行时 ...

  2. 张超超OC基础回顾01_类的创建,申明属性,以及本质

    一. 类的声明和实现&规则 1.如何编写类的声明 以@interface开头 , 以@end结尾, 然后再class name对应的地方写上 事物名称, 也就是类名即可 注意: 类名的首字符必 ...

  3. python基础——使用元类

    python基础——使用元类 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello. ...

  4. OC语言类的本质和分类

    OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件 ...

  5. OC 类的本质和分类

    一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一 ...

  6. UML基础系列:类图

    类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都是有效的.对象图是类图的实 ...

  7. OC-@property、self及类的本质

    让代码书写更加简便 --1-- 设置器和访问器 1.1 setter 1.2 getter --2-- 类的本质 2.1 类类型的对象 2.2 类的本质 2.3 如何获取类对象 2.4 类对象的使用 ...

  8. Python基础:新式类的属性访问

    一.概述 二.准备工作 1.讨论对象 2.名词解释 三.实例绑定的属性访问 1.获取属性 一般规则 参考源码 示例验证 2.设置属性 一般规则 参考源码 示例验证 3.删除属性 一般规则 参考源码 示 ...

  9. OC类的本质,深入探讨,load方法和initialize方法

    1:类的本质:类也是一种类,可以叫做类类,类对象,类类型: 2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法: 而成员 ...

随机推荐

  1. js 中map的几种实现方式

    简单使用 1, 通过对象方式: var myHash = {}; myHash["deviceID"] = "HY_000001"; myHash[" ...

  2. 压力测试的轻量级具体做法 Apache ab

    http://www.cnblogs.com/luminji/archive/2011/09/02/2163525.html

  3. 关于hadoop的环境变量

    export PATH export JAVA_HOME=/opt/jdk1.7 export PATH=$PATH:$JAVA_HOME/bin 为什么/etc/profile 添加了环境变量had ...

  4. ~/.ctag的作用与配置

    里边可以有基本配置和语言正则表达式解析的参数 # Basic options --recurse=yes --tag-relative=yes --exclude=.git # Regex for C ...

  5. JavaBean 内省API BeanUtils工具 泛型 xml xml约束

    1 什么是JavaBean?有何特征? 1)符合特定规则的类    2)JavaBean分二类:     a)侠义的JavaBean         .私有的字段(Field)         .对私 ...

  6. JavaScript DOM高级程序设计 4.3控制事件流和注册事件侦听器--我要坚持到底!

    一.事件流 我们通过下面一个实例,进行说明. <body> <h1>Event Flow</h1> <ul id="nav"> &l ...

  7. 学Android开发 这19个开发工具助你顺风顺水

    学Android开发 这19个开发工具助你顺风顺水 要想快速开发一个Android应用,通常会用到很多工具,巧妙利用这些工具,能让我们的开发工作事半功倍,节省大量时间,下面大连Android开发培训小 ...

  8. poj 1328 Radar Installation(贪心)

    题目:http://poj.org/problem?id=1328   题意:建立一个平面坐标,x轴上方是海洋,x轴下方是陆地.在海上有n个小岛,每个小岛看做一个点.然后在x轴上有雷达,雷达能覆盖的范 ...

  9. Entityframework常用命令

    Enable-Migrations 启用Migration数据迁移 Add-Migration migrationname 添加一个migration Update-Database –TargetM ...

  10. tap,touch,touchstart,事件与click事件的区别

    根据源码所见, 移动端为了将将单击事件更加灵敏,所以现在的JQM,ST...框架都将JS单击事件封装成tap,或者touch或者touchstart事件, 其实现本质是将click触发多次,以打成移动 ...