• 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类。(美女打电话案例)
    • 关联关系: 一个类作为另外一个类的属性,但是他们不是组合关系,而是一个拥有的关系。(人有一条狗,将狗对象作为人对象的一个属性)
  • 相关阅读:
    数据库事务的四种隔离级别
    敏捷DevOps专家王立杰:端到端DevOps持续交付的5P法则 | IDCF
    Hibernate 一对多关系映射
    vue2+element-ui创建顶部导航栏及下拉菜单
    最小生成树
    浙大MBA经验分享:在工作生活的缝隙中奋勇上岸
    python学习-----logging模块
    与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道
    C#实现根据字体名称获取字体文件名
    全志T113 开发QT播放器导入libcedarc遇到问题
  • 原文地址:https://blog.csdn.net/same_life/article/details/126075626