A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 布鲁兹老爷 中级黑马   /  2015-10-15 20:38  /  683 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 布鲁兹老爷 于 2015-10-15 23:06 编辑

实例化对象
最后,是一个非常关键的过程,创建一个有多个轮子和行驶速度的小汽车,这个过程作业点说叫做实例化(instantiation)。
实例化对象时,需要分配内存,然后将内存中存放的成员变量初始化并保存为有用的默认值,默认为0。初始化完成后,意味着新的对象实例已经创建好了。对象的局部变量只在对象的实例中有效,因此成为实例变量,通常简称ivar。
  1. Car *car = [Car new];//等号右边返回值是新建的对象的地址。把返回的地址赋值给一个Car类型的指针变量。
  2.    
  3.     //在接口中的实例变量前加上@public后方可使用指针直接操作成员变量。
  4.     car -> _speed = 250;
  5.     car -> _wheels = 3;
  6.    
  7.     //给car所指向的对象发送一条run消息,告诉Car对象调用run方法。
  8.     [car run:23.4];
复制代码
为了创建一个对象,我们需要想相应的类发送new消息。该类接受并处理完new消息后,我们就会得到一个可以使用的新的对象实例。
这里我们使用指针直接操作对象的实例变量,前提是在声明中,在需要直接操作的实例变量前加上@public。否则无法直接通过指针操作实例变量。
  1. car -> _speed = 250;
  2. car -> _wheels = 3;
复制代码

同结构体指针类似,使用->可以直接修改或访问对象中的变量。
  1. [car run:23.4];
复制代码
给car指向的对象发送run消息,调用run方法。方法的参数值是23.4。

最后运行结果是:汽车以23.400000公里/小时的速度奔跑。

以上一个类和对象就此创建完成。



2 个回复

倒序浏览
学习啦!!!!
回复 使用道具 举报
分析的很彻底啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马