首页 > 代码库 > 黑马程序员 oc对象的方法成员变量

黑马程序员 oc对象的方法成员变量

#import <Foundation/Foundation.h>

typedef enum {

       SexMan,

       SexWoman

} Sex;

@interface Person : NSObject

{

    /*

    成员变量名前用下划线有3个用处

    1>方便程序员之间的交流,一看到下划线就知道这个事成员变量

    2>为了与getter方法中的方法名区分开

    3>不与局部变量名重合

      */

   int _age;

   Sex _sex;

}

 

// 设置setter和getter方法

// 为了数据的严密性和安全性,采用封装方式

- (void)setAge:(int)age;

-(int)age;

- (void)setSex:(Sex)sex;

- (Sex)sex;

 

// 创建run方法

-(void)run;

@end

@implementation

- (void)run

{

    NSLog(@"性别为%d,年龄为%d的人在跑步",_sex, _age);

}

- (void)setAge:(int)age

{

     if(age <= 0) _age = 1;

     _age = age;

}

-(int)age

{

     return _age;

}

- (void)setSex:(Sex)sex

{

      _sex = sex;

}

- (Sex)sex
{
   return _sex;
 
}

@end

int main()

{

   // 在oc中只能通过指针来访问对象

    Person *p = [Person new];

    [p setAge:20];

   int a = [p age];

    Person *p1 = p;

    [p1 setAge:25];

    [p1 age];

    [p1 setSex:SexMan];

    [p1 sex];

    [p1 run];

   

}