定义
- 类方法,也称静态方法,在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中对象.方法