1、对象方法:
- 定义: - (void)test;
- 调用: 对象方法需要创建对象,通过对象去调用
- 在对象方法中,可以使用类名直接调用当前类的类方法。
- 对象方法可以和类方法同名
2、类方法: - 定义: + (void)test;
- 调用: 类方法 直接通过类名去调用
- 节约空间,因为调用类方法不需要创建对象,所以节约了空间。
- 提高效率,调用类方法不需要拐弯抹角,直接找到类。
- 在类方法中不能使用 self 调用当前类的其他对象方法。因为对象方法只能通过对象去调用,此时对象还没有创建。
- 在类方法中不能直接调用类的属性
@interface Person : NSObject
- (void)test;
+ (void)test;
@end
@implementation Person
-(void)test {
NSLog(@"这是对象方法");
}
+(void)test {
NSLog(@"这是类方法");
}
@end
Person *p1 = [[Person alloc]init];
[p1 test];
[Person test];
打印:
[35630:128229] 这是对象方法
[35630:128229] 这是类方法
3、对象与对象之间的关系
- 组合关系:一个对象是由多个对象组合起来的。比如计算机对象是有硬盘对象、CPU对象、主板对象、内存对象组合起来的。那么计算机和硬盘、CPU、主板等对象的关系就叫组合关系
- 依赖关系:一个对象的方法的参数是另一个对象,那么他们的关系就叫依赖关系。比如B类是A类方法的参数。那么就说A类依赖于B类。(美女打电话案例)
- 关联关系: 一个类作为另外一个类的属性,但是他们不是组合关系,而是一个拥有的关系。(人有一条狗,将狗对象作为人对象的一个属性)
|