OC学习笔记 (10-15-18)
来源:互联网 发布:中国10月经济数据 编辑:程序博客网 时间:2024/06/06 06:30
1.self在对象方法中的使用
2.self在类方法中的使用
self不指向当前对象,指向类的地址 [p class]可以返回类的地址
在类方法中self不能调用对象方法
3.self修改变量
在set方法中如果形参和实例变量同名,用self调用实例变量(self->)访问
4.继承派生
在实例变量声明的时候 ,在不使用关键修饰的情况下,变量默认是protected类型
public : 公开的在对象方法,类方法,对象都能进行访问
private:只能在当前类中使用
protected:当前是类或子类访问
私有变量
私有方法:
1.在.h中没有声明,在.m中实现,此时该方法被称为私有方法
5.description方法
-(NSString *) description; 对象方法
+(NSString *) description; 类方法
以 “%@”打印对象的时候 ,会调用description方法(先在当前类中寻找 ,没有在向上寻找)
打印类名:NSLog(@"\n%@",[classname class]);
descripton陷阱:不要在descrition中打印self 会造成死循环
6.多态:多态就是某一类事物的多种形态
程序中的多态:不同的对象以自己的方式响应相同名称方法的能力称为多态
6.1多态的条件
有继承关系,有方法的重写,父类的声明变量指向子类对象
animol *dog = [animol new];
7.类的本质
类的本质其实也是一个对象(类对象)
7.1类对象
*类对象再程序运行时一直存在
*类对象是一种数据结构,存储类的基本信息:类大小,类名称,类的版本以及消息与函数的映射表等
*类对象所保存的信息在程序编译时确定,在第一次使用该类的时候被加载到内存中
*类对象代表类,class代表类对象,类方法属于类对象
*如果消息的接收者是类名,则类名代表类对象
*运行时,所有类的实例都由类对象生成,类对象会把实例的isa的值修改成自己的地址,每个实例的isa都指向该实例的类对象,
*从类对象里可以知道父类信息,可以响应的方法等
*类对象只能使用类方法,不能用实例方法
7.2类对象的获取方法
类对象属于Class类型
Class c1 =[d class]
Class c2 = [d1 class]
通过类名来获取类对象
Class c3 = [dog class]
7.3类对象的使用
************************************
***********************************
8.SEL类型
person *p = [person new ]
[p test]
==
SEL s1 = selector(test);
[p performSelector:s1]
9.类对象的存储细节
**************
- OC学习笔记 (10-15-18)
- OC学习笔记(2015-10-12)
- 学习笔记10-OC类的特性
- Oc 学习笔记
- OC 基础学习笔记
- OC学习笔记[注意事项]
- OC学习笔记
- OC学习笔记
- [OC学习笔记]对象
- [OC学习笔记]数据类型
- [oc学习笔记]字符串
- [oc学习笔记]数组
- OC学习笔记
- oc学习笔记
- OC学习笔记
- oc学习笔记
- OC学习笔记共享
- OC学习笔记
- 5 Smallest multiple - Project Eulder
- 常见的设计模式
- java23种设计模式之装饰模式(Decorator)
- 在我程序员之路的开始写点东西吧
- Mac下如何统计一个目录下所有代码文件的总行数
- OC学习笔记 (10-15-18)
- 文章标题
- tomcat内存配置
- Remove Element
- Android本地视频播放器开发--ffmpeg解码视频文件中的音频(1)
- 文章标题
- DC综合简单总结
- 2014 北京区域赛题目
- php中cookie跨域的解决方案以及IE和safari浏览器中的坑