OC-类方法
2015-11-07 21:04
267 查看
类方法
1. 基本概念
直接可以用类名来执行的方法(类本身会在内存中占据存储空间,里面有类\对象方法列表)
2. 类方法和对象方法对比
1) 对象方法
- 以减号-开头
- 只能让对象调用,没有对象,这个方法根本不可能被执行
- 对象方法能访问实例变量(成员变量)
2) 类方法
- 以加号+开头
- 只能用类名调用,对象不能调用
- 类方法中不能访问实例变量(成员变量)
- 使用场合:当不需要访问成员变量的时候,尽量用类方法
3) 类方法和对象方法可以同名
#import <Foundation/Foundation.h> @interface Person : NSOvject //类方法 { int age; } + (void)printClassName; @end @implementation Person + (void)printClassName { //error : instance variable 'age' accessed in class method //实例变量age不能在类方法中访问,即类方法不能访问成员变量 NSLog(@"这个类叫做Person--%d", age); } - (void)test { NSLog(@"调用了test方法"); [Person test];//可以调用方法 } + (void)test { NSLog(@"lei"); //[Person test]; 会引发死循环 } @end int main() { Person *p = [Person new]; [p printClassName]; [Person test];//只能用类调用类方法 return 0; }
相关文章推荐
- ZOJ2972-Hurdles of 110m
- Spark入门之五:SparkSQL的原理以及架构
- 【OpenCV】有关内存释放的一些问题
- mongodb(Windows)安装、测试
- PB开发的应用程序自动发出对sys.ALL_SYNONYMS查询的问题。
- uva 1312——Cricket Field
- java保留两位小数
- 蛮力法之最近对问题(C实现)
- 算法题——不创建临时变量求一个字符串的长度
- Delegate 设计模式
- div的高度设置
- 模仿UITableView的WaterFlowView和控件的懒加载
- 各个版本matlab下载地址
- 《JavaScript DOM编程艺术》笔记
- 创建XML--从小的节点开始
- 学计算机的方向
- Nodejs简单的初始安装、部署Window版
- Latent semantic analysis note(LSA)
- HDU 3572 最大流
- Linux 安装JDK Tomcat Eclipse