IOS 类方法和实例方法

定义

  • 类方法,也称静态方法,在OC中方法名前的修饰符号为:(+),C++中是指用static关键字修改的方法,Swift里是class func。
  • 实例方法,在OC中方法名前的修饰符号为:(-),C++中指不用static关键字修饰的方法,Swift里是普通func。

区别

类方法

1、self指的是Class
2、可直接通过类名调用
3、在程序开始时生成,方法是连续的空间
4、速度快,但占内存
5、只能方法成员变量,无法访问或修改本类的实例变量

实例方法

1、self指的是对象的首地址
2、必须通过alloc实例后才能调用
3、在程序运行中生成,方法是离散的空间
4、速度较类方法更慢一点

使用场景

类方法

1、用于实现工具方法,类似对某个对象的扩展,或者实现单例
2、OC中通过类名.类方法调用,C++中类名.方法名、对象名.方法名及直接调用,Swift中直接类名.方法

实例方法

1、与本类相关实例相关
2、OC中通过alloc构建对象再调用,C++中对象名.方法名,Swift中对象.方法

猜你喜欢

转载自www.cnblogs.com/xiyangxixia/p/10889655.html