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中的“对象与内存分配”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

 

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练