-----------------------------"对象与对象的关系"-----------------------
6.面向对象关系----"依赖"
A类的对象作为B类方法的参数或者局部变量,此时称B对象依赖A
举例: Person类: -(void)call:(Phone *)iPhone; //Phone类对象作为Person的方法参数
-(void)call{
Phone *iPhone = [Phone new]; //Phone类对象作为Person的局部变量
}
7.面向对象关系----"关联"
A类的对象作为B类的实例变量,称A和B类具有关联关系
举例: @interface Person:NSObject
{
Phone *iPhone; //Phone类的对象作为Person类的实例变量
}
8.面向对象关系----"继承"
1.子类继承父类,拥有父类的所有属性和方法
2.子类可以定义自己特有的实例变量和方法,并且子类可以重写父类的方法
3.子类调用方法的顺序:优先调用自身的方法,如果没有,则查找上一级父类.上一级父类没有,继续向上一级查找.直到查找完NSObject仍未找到,则报错
4.OC中的继承都是单继承,即只能继承一个父类,但是可以遵守多个协议
题外话:关于OC中的"方法重载":
方法重载:同名方法拥有不同的参数类型和个数,调用时根据参数类型和个数自动匹配对应方法 //Java中的方法重载
在OC中不存在方法的重载
9.类方法中的self关键字: self:"只有用在类的方法中才有意义",同样的还有super
1.用在类方法中指类本身,用来在类方法中调用其他类方法
2.用在对象方法中指对象本身,用来在对象方法中调用其他对象方法
3.在类方法中修饰实例变量,指类本身的实例变量,而不是方法中的同名参数
10.super关键:在子类中通过super来调用父类的方法
11.私有方法
在类的.m文件中实现,而未在.h文件中声明的方法.只能在类的方法中通过self调用,不能在其他类中访问,包括子类.
12.description方法: NSLog(@"%@....", obj);
用于输出OC对象信息的方法,返回一个NSString字符串,可以自行构造
|
|