黑马程序员-IOS学习笔记 OC 关于对象方法类方法的一些概念

来源:互联网 发布:ubuntu os update 编辑:程序博客网 时间:2024/06/05 11:27
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------
对象方法
(1)对象方法以-开头如 -(void)xx;
(2)对象方法只能由对象来调用
(3)对象方法中可以访问当前对象的成员变量
(4)调用格式 [对象名 对象方法名];
类方法
(1)类方法以+开头 如+(void)put;
(2)类方法只能由类来调用
(3)类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间来存储类中的成员变量。
(4)调用格式:[类名 类方法名];
(5)类方法的好处和适用场合:不依赖于对象,执行效率更高;     能用类方法解决的问题,尽量使用类方法;     场合:当方法内部不需要使用到成员变量时,可以改为类方法。


1、类方法的优点:
1)节省内存空间
2)提高了效率
3)作为工具方法

2、类方法的易犯错误
1)在类方法中不能使用类的成员变量
3、对象方法中可以调用其他的对象方法
    1)当前对象方法中创建对象,使用新创建的对象(可以是当前类的实例对象,也可以是其他类的实例对象)调用对象方法
    2)self调用
    3)对象作为方法的参数 传递过来,可以使用传递过来的对象调用方法

4、类方法
    在类方法中可以调用其他类方法
    1)可以直接使用本类类名,或其他类方法
    2)self调用

    3)可以调用其他类的对象的方法(通过方法参数传递 或者在类方法类创建对象)

    4)类方法不能调用自身,会造成死循环



  5、匿名类的使用

    1)可以访问实例变量(只能访问一次)。以后再访问实际上访问新的空间了

        [Car new]-> _speed = 80;

        NSLog(@"_speed = %d ",[Car new]->_speed); // 0

 

    2)可以调用方法

     [[Car new] stop];

 

   6、常用生成对象方法

        [[Car alloc] init]; 等价于 [Car new];  都是匿名对象

        //使用alloc init的方法调用 stop

            [[[Car alloc] init] stop];


0 0
原创粉丝点击