• 08-OC的类方法


    OC中的方法分为对象方法和类方法,这里介绍类方法。

    1、类方法

     概念:直接可以用类名来执行(调用)的方法(类本身会在内存中占据存储空间,存储空间里面有类方法列表和对象方法列表)。

    注:不是只有类方法列表存储在类的空间,对象方法列表也存储在类的空间。

    很好理解,因为不管是类方法还是对象方法,它们的声明都在@interface @end之间  ;实现都在@implementation @end之间。

     规则:1、以加号 + 开头;

        2、所有数据类型(返回值、参数)都必须写在小括号()里面,而且只有数据类型可以写在小括号()里面;

        3、方法名遵循驼峰原则;

        4、如果没有参数,方法名后面什么都不写,例如 + (void)lookMyPhone;

        5、一个参数对应一个冒号:,冒号:也是方法名的一部分;

          例如:+ (void)sendMessage:(char *)message withPhoneNumber:(char *)number;

              方法名是  sendMessage:withPhoneNumber:

        6、加号 + 不是方法名的一部分。

        7、类方法只有类名可以调用,对象不能调用。

        8、类方法不能访问实例变量(成员变量)。

        9、类方法可以调用自己的类方法,但不能调用自己,会出现死循环。

        10、类方法可以作为工具方法。

        11、类方法可以和对象方法重名(即方法名完全一样),但是二者却是两个完全不同的方法,用方法前面的+ -号区别。

    2、按照有无返回值和有无参数给对象方法分类

      • 无参无返回值类方法
      • 无参有返回值类方法
      • 有参无返回值类方法
      • 有参有返回值类方法

      (1)无参无返回值类方法

        例如:+ (void)lookMyPhone;//查看电话信息

      (2)无参有返回值类方法

        例如:+ (char *)receiptMessage;//接收短信

      (3)有参无返回值类方法

        例如:+  (void)callPhone:(char *)Phonenumber;//拨电话号

                    +  (void)sendMessage:(char *)message withNumber:(char *)number;//给一个号码发短信

      (4)有参有返回值类方法

        例如:+ (int)sumOfNum1:(int)num1 andNum2:(int)num2;//计算两个数的和

    3、类方法的使用场合

       (1)类方法只能由由类(类名)来调用。

        类方法可以调用自己的类方法,但不能调用自己,会出现死循环。

       (2)当方法中不需要访问实例变量(成员变量)的时候,尽量使用类方法。

    4、使用类方法的好处

      (1)可以节省内存空间,因为不用创建对象;

      (2)可以提高效率

    注意:当方法中需要访问实例变量(成员变量)的时候,一定不能使用类方法,其他情况都尽量使用类方法。  

    人生之路,不忘初心,勿忘始终!
  • 相关阅读:
    MyEclipse使用经验总结
    CSDN-markdown编辑器使用简介
    struts2提供的校验器
    JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
    JAVA中文字符编码问题详解 控制台输出
    Statement、PreparedStatement
    struts2 文件上传
    SQL RIGHT JOIN 关键字:语法及案例剖析
    SQL LEFT JOIN 关键字:语法及案例剖析
    SQL INNER JOIN 关键字:语法及案例剖析
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/3997066.html
Copyright © 2020-2023  润新知