摘要:
1.堆:存放的是一些动态分配的对象/类,系统是不会自动回收这些内存的2.栈:存放的是一些临时的和局部变量,一旦不在作用域内,就会自动回收内存3.oc中回收堆中动态分配的对象的内存的机制:引用计数器引用计数器:在每个对象的内存中都有一个4个字节的引用计数器(int),每当对象被创建时,引用计数器的值就... 阅读全文
摘要:
1.oc是面向对象的语言,而c是面向过程的。2.面向对象的三大特征: 封装:定义方法,定义类,定义属性(利用set和get方法将类的成员变量封装),起到更高的安全性(隐藏信息),简化操作,将代码单元化的作用 继承:将具有共同的特征和行为的东西放到一起,变成一个单独的类,然后让拥有这个特征和行为的... 阅读全文
摘要:
1.多态实质:父类类型的指针指向子类的类型(继承的关系下) 父类类型 *p=[子类类型 new] [p 方法]链接的时候,会动态的检查p的真实类型,所以执行的方法是子类的实现(即不管父类类型是什么,该代码都会执行成功)2.局限性:父类类型的变量不能直接调用子类的方法(如上) 原因:oc... 阅读全文
摘要:
1.继承语法: @interface 子类名:父类名2.继承好处:减少代码的重复性3.继承的缺点:增加的代码的耦合性,即两个类的关系太紧,只要一个被毁另一个类就无法使用4.注意点:a.oc中不允许子类和父类有同名的成员变量 b.方法可以在父类中声明,到子类去实现,也可以都有实现(即重写)... 阅读全文
摘要:
#import @interface Student : NSObject{ int _age; char *_name;}- (void) study;- (void) run;+ (void) play;+ (void) run;@end@implementation... 阅读全文
摘要:
类方法1.类方法的调用不依赖与对象,直接用类名调用 [类名 方法名]2.类方法语法:+ (返回值类型) 方法名3.类方法中不可以访问类对象的成员变量4.通常在不访问类成员变量的时候,用类方法,一般是一些工具类5.使用类方法可以提高性能和执行效率对象方法1.对象方法的调用依赖与对象 [对象指针 方法名... 阅读全文
摘要:
#import @interface Student : NSObject{ int _age; char *_name;}//声明set方法- (void) setAge: (int)age;- (void) setName: (char *) name;//声明get方法- (i... 阅读全文