您的位置:首页 > 其它

Obhective-C_OC中的方法

2015-12-10 16:51 375 查看
OC方法

实例化方法

main.c

#import <Foundation/Foundation.h>
#import "Person.h"
#import "Student.h"
#import "Teacher.h"
#import "NewStudent.h"

int main(int argc, const char * argv[]) {
@autoreleasepool {

/*
OC中的方法
设置器与访问器
便利初始化函数 以及 便利构造器
属性
*/

//OC中的方法
//实例方法
//        Person *personA = [Person new];
//        Person *personA = [[Person alloc]init];
Person *personA = [Person alloc];
personA = [personA init];   //实例方法

//如何调用使用实例方法?
[personA sayHello];

[personA sayHelloName:@"Rick" andAge:25];

//如何调用类方法?
[Person sayHi];

[Person hiGuys];

}
return 0;
}


Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
NSString *_name ;
NSInteger _age;
NSString *_hobby;

}

/*
OC中的方法
方法: 是类的功能代码,在(.h)文件中声明,在(.m)文件中实现。
语法:
-|+ (返回类型) 方法名:参数列表
{
//方法体
}

减号(-)表示实例方法,加号(+)表示类方法
*/

-(void)sayHello;    //实例方法

-(void)sayHelloName:(NSString *)name
andAge:(NSInteger)age ;    //实例方法

//类方法
/*
注意:
1.类方法可以调用类方法
2.类方法不可以调用实例方法,但是类方法可以通过创建实例对象来访问实例方法
3.类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量
4.类方法作为消息,可以被发送到类里面去,不能发送到对象里面去
*/
+(void)sayHi ;

+(void)hiGuys ;

@end


Person.m

#import "Person.h"

@implementation Person

-(void)sayHello
{
NSLog(@"sayHello!");
}

-(void)sayHelloName:(NSString *)name andAge:(NSInteger)age
{
NSLog(@"Hello guys!My name is %@,I am %ld years old!",_name,_age);
}

//类方法
+(void)sayHi
{
NSLog(@"sayHi!");
}

/*
注意:
1.类方法可以调用类方法
2.类方法不可以调用实例方法,但是类方法可以通过创建实例对象来访问实例方法
3.类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量
4.类方法作为消息,可以被发送到类里面去,不能发送到对象里面去
*/
+(void)hiGuys
{
//1.类方法可以调用类方法,通过self调用
//self 是什么? self 代表当前对象的指针
[self sayHi];

//2.类方法不可以调用实例方法,但是类方法可以通过创建实例对象来访问实例方法
//    [self sayHello];

Person *p = [[Person alloc]init];
[p sayHello];

//3.类方法不可以使用实例变量。类方法可以使用self,因为self 不是实例变量

//    NSLog(@"hi,My name is %@,age is %ld,hobby is %@",_name,_age,_hobby);

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: