***************************************************
XCode 文档 在线安装方法
XCode -->preferences -->download-->components document
XCode 文档离线安装方法
文档后缀 .docsets 应用程序 -->找XCode--> 右击--> 显示包内容 -->contents-->developer -->documentation-->DocSets
插件路径:finder -->前往-->按住option-->资源库-->Application Support-->
缓存路径
***************************************************
方法重载问题:
重载:在一个类中定义同名的方法,方法的参数的类型和个数不一样
#warning OC中没有方法重载 因为不允许有同名的方法 但是OC有重写的概念(后期会介绍)
@interface Person : NSObject
//1和2是不可以同时存在的 因为他们的方法名都是 run:
1.-(void)run:(int) num;
2.-(void)run:(NSString *)foodName;
//3是可以跟1或者2共同存在的 因为他的方法名是run: : : :
3.-(void)run:(int) num :(float) f1 :(NSString *)str :(int) i;
@end
***************************************************
OC中static关键字的使用
回顾C中static关键字的使用
static 修饰局部变量: 延长局部变量的生命周期
static 修饰全局变量: 当前变量只能在当前文件中使用
static 修饰函数: 函数只能在当前文件中使用
在OC中 static 的使用
1.能修饰实例变量吗?
@interface Car : NSObject
{
static int _speed;
/*
报错:
Type name does not allow storage class to be specified
*/
}
@end
#warning 不能修饰实例变量!!
2.能修饰全局变量吗?YES!
3.能修饰对象方法吗? NO!
4.能修饰局部变量吗: YES!
***************************************************
self 和 super 两个关键字的介绍
1.self 用在对象方法中 表示的是调用当前方法的那个对象
2.self 用在类方法中 指代的是当前的类 (可以通过返回地址的方式得到确认)
Person *p=[Person new];
[p class] 返回的实质就是当前类(类对象)
Person class 返回的实质就是当前类(类对象) 跟p class 等同
类对象在内存中只存在一份
3.self 访问对象的成员变量
在对象方法内部 想要访问对象的成员变量 可以通过self
比如 self->speed;
***************************************************
类的继承和派生概念
继承的代码实现
***************************************************
基类和派生类之间的关系
OC中的继承是单继承 也就是说一个类只能有一个父类
#warning 通过协议和 ?????? 实现
继承注意事项:
***************************************************
实例变量修饰符介绍: 用来限制实例变量的作用范围
@interface Person : NSObject
{
@public //公开的, 在任何地方通过实例对象都可以访问
int _age;
@private //私有的,表示只能在当前类中使用
NSString *_name;
@protected //受保护类型,表示只能在当前类和子类中访问
float _weight;
}
@package 作用于框架级别
***************************************************
OC中私有的实例变量
***************************************************
desription方法介绍及重写
在类方法中不能访问实例变量
私有方法跟重写方法不要记混
|
|