zoukankan      html  css  js  c++  java
  • 二.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.课堂习题

  • 相关阅读:
    使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承
    使用 Apache OpenJPA 开发 EJB 3.0 应用,第 2 部分: 开发第一个 Open JPA 应用
    使用 Apache OpenJPA 开发 EJB 3.0 应用,第 6 部分: 处理实体生命周期事件的回调
    http://www.oschina.net/question/129540_20547
    tomcat6实现远程调试
    FluorineFx和Flex配置
    今天才开通这个博客呀!
    vue中install方法
    Vue.nextTick 的原理和用途
    vue3.0中使用nextTick
  • 原文地址:https://www.cnblogs.com/jiayongqiang/p/5094098.html
Copyright © 2011-2022 走看看