Objective-C 对象与内存分配
接下来,我们准备为大家介绍Objective-C中的“对象与内存分配。
"对象"——类的一个实例就是"对象"。
那么,看完这个解析以后,相信大家都与上一章学习类时,有同一种感觉,就是完全不知道你在说什么。
好,没关系,我们接下来举一些例子,让大家可以进一步地了解"对象"这个概念。
首先,我们来看看地球上的人类,地球上每一个人都是一个对象,因为,他们是真实存在的。如果,地球上有50亿个人,那么,就可以通过人类这个类,定义出50亿个对象,而每个对象都是独立的个体,互不影响。
同时,地球上的每一个人都有“人类”这个类中的属性,因为,地球上所有的人都有"头部",都有"身体",都有"手和脚"。
现在,相信大家对"对象"这个概念有了进一步的了解。接下来,我们再来看看鸟类。
首先,鸟类都有"头部","身体","两条腿","一对翅膀","尾巴",然后,我们就可以通过鸟类这个类去定义地球上所有的飞鸟对象。
例如:地球上的每一只老鹰都是鸟类的对象,如果,地球上有100只老鹰,那么,就可以通过鸟类来定义100只老鹰的对象,同时,每个老鹰对象都是独立的个体,互不影响。
而每一只老鹰对象,它们都具有"鸟类"中的这5个属性,因为,它们都有头,身,两条腿,一对翅膀和尾巴。
相信大家现在已经对什么是"对象"有了一个初步的认识了。接下来,我们就可以去看看,在Objective-C程序中定义一个"对象"的格式。格式如下:
类名 *对象名 = [ [ 类名 alloc ] init ];
格式分析:
(1)将要用于定义对象的“类名”。
(2)将要定义的对象名字,命名规则按照变量的命名规则就可以了,同时,它是一个指针的对象
(3)等于号。
(4)一对外层中括号。
(5)再一对内层中括号,而内层中括号里面使用alloc方法来分配内存空间。
(6)在外层的中括号里面,使用 init 方法来返回当前类型的指针。
如果,大家还没有学习过指针,那么,可以通过本站的C语言开发教程进行学习。
大家可以通过右方目录中的(Objective-C 与C语言的关系)这一章跳转到C语言开发教程的页面。
接下来,我们结合代码作进一步的学习。
首先,我们可以把上一章学习过的"鸟类",通过Objective-C程序的格式把“对象”定义出来。
例子:
//这里继承了父类NSObject,原因是alloc是由类NSObject提供的方法,要使用alloc就必须先继承NSObject,而什么是承继,什么是方法将在后面的章节再为大家介绍。
@interface bird :NSObject //定义了bird类,并继承了父类NSObject
{
@public
int head; //头部
int body; //身体
int leg; //脚
int plumage; //翅膀
int tail; //尾巴
};
bird *LaoYing=[ [ bird alloc ] init ];
例子分析:
首先,通过鸟类bird进行定义,然后,定义了一个指针对象“LaoYing”(老鹰),
同时,通过alloc来分配内存空间,并通过 init 返回当前类型的指针,
这样,我们就成功地运用了“鸟类”定义出一个对象。
非常好,现在,我们已经掌握了Objective-C中的“对象与内存分配”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)