类方法的概述与定义和调用

1, 类方法的概述

类方法(class method)在其他编程语言中常常称为静态方法(例如 Java 或 C# 等). 与实例方法不同的是,类方法只需要使用类名即可调用, 不需要引用对象, 也就不需要创建对象了. 而实例方法必须是先将对象(实例)创建出来, 再利用对象来调用方法.

OC 中使用 "+" 表示类方法, 使用 "-" 表示实例方法.

类方法与实例方法的定义比较:

2, 类方法的定义

3, 使用类方法的优势分析:

-> 类方法在代码区, 因此使用不需要创建对象

-> 频繁使用类方法提高效率

-> 类方法会一直占用内存

4,类方法的注意事项

1) 类方法与实例方法允许重名

2) 类方法可以从父类继承, 子类允许重写

3) 类方法与实例方法一样, 在 @interface 中声明, 在 @implementation 中实现

4)类方法只允许给类发消息才允许调用

5) 类方法中的 self 不再是实例对象, 而是该类的类对象(Class)

5, 类方法易犯的错误

1) 在类方法中使用了成员变量

2)在类方法中调用了实例方法

6.类方法与实例方法比较,从类方法与实例方法的比较来看, 如果一个方法不需要使用成员变量, 就可以使用类方法. 或者将类方法一般作为工具方法来使用.

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. PHP递归重新排序无限级分类数组
  2. AngularJS快速入门指南11:事件
  3. 中兴软件编程规范C/C++
  4. JS 点击事件学习总结
  5. 第二百八十四天 how can I 坚持
  6. 在C++中定义常量的两种方法的比较
  7. 【Android - MD】之TextInputLayout的使用
  8. [log4j] 可用案例
  9. iOS自动打发布包-备用
  10. ModelAndView解析
  11. 【OC加强】NSDate的使用方法——日期时间在实际开发中比較有用
  12. CodeForces Round
  13. node框架koa
  14. MyEclipse不自动编译问题
  15. Openvswitch手册(3): sFlow, netFlow
  16. 在eclipse中配置Python环境
  17. Modelsim command line 传参数到 .do 文件
  18. Linux用户管理简介
  19. mysql varchar 转 decimal
  20. Asp.Net MVC简单三层架构(MVC5+EF6)

热门文章

  1. java JdbcTemplate源码
  2. SQL Server 2008 远程过程调用失败[ VS2012]
  3. Robot Framework+appium集成安装
  4. [MarsZ]Unity3d游戏开发之Unity3d全策划配置新手指引
  5. 曾经记录——asp.net中的点滴
  6. bzoj 1036 [ZJOI2008]树的统计Count(树链剖分,线段树)
  7. vijosP1006 晴天小猪历险记之Hill
  8. ubuntu下安装maven
  9. Tornado自定义分布式session框架
  10. phpstudy配置虚拟主机