定義
- 類方法,也稱靜態方法,在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中對象.方法