二.OC基础--1,对象的存储细节,2,#pragma mark指令,3,函数和对象方法的区别,4,对象和方法之间的关系 ,5.课堂习题

1,对象的存储细节,

  1. 当创建一个对象的时候:Person *p1 = [Person new],做了三件事情:
    1,申请堆内存空间;
    2,给实例变量初始化;
    3,返回所申请空间的首地址;

  2. 实例变量保存在堆区

  3. 对象方法保存在代码区

  4. 一个类可以创建多个对象;

2,#pragma mark指令,

  功能:对代码分组,方便代码查找和导航

  使用格式: #pragma mark -

  #waring 等待处理的功能,或者是未完成的功能

3,函数和对象方法的区别,

  一. 对象方法:
    -(void)run;
    (1)对象方法的实现在@implementation...@end中
    对象方法的声明只能写在 @interface...@end中间

    (2)对象方法都以-号开头

    (3)对象方法只能由对象来调用

    (4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation...@end中,但写在 @interface...@end会无法识别,函数的声明可以在main函数内部也可以在main函数外部。

    (5)对象方法归对象所有

  二. 函数:
    void run(){
    }
    (1)所有的函数都是平行的
    (2)函数不存在隶属关系
    (3)使用的时候可以直接调用
    (4)不可以访问对象中的成员变量

4,对象和方法之间的关系 ,

  一,对象作为方法的参数
  -(void) displayPerson:(Person *)person{
    NSLog("姓名:%@",person->name);
  }

  二,对象作为方法的返回值
  -(Person *)changePerson:(Person *)person{
    person->name = @"唐僧";
  return person;
}

5.课堂习题

上一篇:Eclipse如何导入DemoWeb.rar


下一篇:20151210study