• iOS 类方法和对象方法的区别


    1、对象方法:

    • 定义: - (void)test;
    • 调用: 对象方法需要创建对象,通过对象去调用
    • 在对象方法中,可以使用类名直接调用当前类的类方法。
    • 对象方法可以和类方法同名
      2、类方法:
    • 定义: + (void)test;
    • 调用: 类方法 直接通过类名去调用
    • 节约空间,因为调用类方法不需要创建对象,所以节约了空间。
    • 提高效率,调用类方法不需要拐弯抹角,直接找到类。
    • 在类方法中不能使用 self 调用当前类的其他对象方法。因为对象方法只能通过对象去调用,此时对象还没有创建。
    • 在类方法中不能直接调用类的属性
    @interface Person : NSObject
    //创建一个对象方法
    - (void)test;
    //创建一个类方法
    + (void)test;
    @end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    @implementation Person
    //实现对象方法
    -(void)test {
        NSLog(@"这是对象方法");
    }
    //实现类方法
    +(void)test {
        NSLog(@"这是类方法");
    }
    
    @end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    //对象方法和类方法的区别
    //调用对象方法,需要创建对象对象
     Person *p1 = [[Person alloc]init];
     [p1 test];
            
    //调用类方法,直接通过类名去调用
     [Person test];
    
    打印:
    [35630:128229] 这是对象方法
    [35630:128229] 这是类方法
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3、对象与对象之间的关系

    • 组合关系:一个对象是由多个对象组合起来的。比如计算机对象是有硬盘对象、CPU对象、主板对象、内存对象组合起来的。那么计算机和硬盘、CPU、主板等对象的关系就叫组合关系
    • 依赖关系:一个对象的方法的参数是另一个对象,那么他们的关系就叫依赖关系。比如B类是A类方法的参数。那么就说A类依赖于B类。(美女打电话案例)
    • 关联关系: 一个类作为另外一个类的属性,但是他们不是组合关系,而是一个拥有的关系。(人有一条狗,将狗对象作为人对象的一个属性)
  • 相关阅读:
    【需水预测】区域需水量预测方法-定额法
    【python与数据结构】(leetcode算法预备知识)
    代码随想录算法训练营Day55|动态规划13
    CMD命令终端快捷键学习
    C++函数模板和类模板(基础+进阶)
    通过DSSM算法进行商品推荐 代码+数据
    三维电子沙盘数字沙盘M3DGIS大数据人工智能开发课程第8课
    MyBatis
    Ubuntu环境Docker+K8s+Dashboard的安装配置(无坑亲测)
    This dependency was not found: vxe-table/lib/vxe-table in ./src/main.js
  • 原文地址:https://blog.csdn.net/same_life/article/details/126075626