建一个Person类
<Person.h> //定义实例方法和类方法
OC中的方法
方法:是类的功能代码,在(.h)文件中声明,在(.m)文件中实现。
语法:
- | + (返回类型)方法名:参数列表;
{
// 方法体
}
减号(-)表示实例方法,加号(+)表示类方法
*/
//类方法
/*
注意
1.类方法可以调用类方法
2.类方法不可以调用实例方法,但是类方法可以通过创建实例对象访问实例方法
3.类方法不可以使用实例变量,类方法可以使用self, 因为self不是实例变量
4.类方法作为消息,可以被发送到类里面去,不能发送到对象里面去
*/
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
@public
NSString *_name;
NSInteger _age;
NSString *_hobby;
}
-(void)sayHello; //实例方法
-(void)sayHelloName:(NSString *)name
andAge:(NSInteger)age; //声明实例方法
+(void)sayHi; //类方法
+(void)hiGuys; //类方法
@end
<main.m> 调用实例方法和类方法
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//Person *personA = [Person new];
Person *personA = [[Person alloc] init];
[personA sayHello];
// personA -> _name = @"大哥";
// personA -> _age = 24;
[personA sayHelloName:@"猪猪侠" andAge:22];
[Person sayHi]; //类方法 只能用类名调用
[Person hiGuys];
}
return 0;
}