OC之成员变量封装

#import<Foundation/Foundation.h>

@interface Student : NSObject

{

    // 成员变量尽量不要用@public

    // @public

    int age;

    //@public

    // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no

    int no; // 只需要提供get方法

}

 

/*

 set方法

 1.作用:提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤

 2.命名规范:

 1方法名必须以set开头

 2set后面跟上成员变量的名称,成员变量的首字母必须大写

 3)返回值一定是void

 4一定要接收一个参数,而且参数类型跟成员变量类型一致

 5形参的名称不能跟成员变量名一样

 */

- (void)setAge:(int)newAge;

/*

 get方法

 1.作用:返回对象内部的成员变量

 2.命名规范:

 1肯定有返回值,返回值类型肯定与成员变量类型一致

 2方法名跟成员变量名一样

 3不需要接收任何参数

 */

- (int)age;

- (void)study;

@end

 

 

@implementation Student

// set方法的实现

- (void)setAge:(int)newAge

{

    // 对传进来的参数进行过滤

    if (newAge <= 0)

    {

        newAge = 1;

    }

    age = newAge;

}

 

- (int)age

{

    return age;

}

 

 

- (void)study

{

    NSLog(@"%d岁的学生在学习",age);

}

@end

 

int main()

{

    Student *stu = [Student new];

    //stu->age =-10;

    //stu->age = 10;

    [stu setAge:10];

    NSLog(@"学生的年龄是%d", [stu age]);

    //[stu study];

    return 0;

}

上一篇:打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回


下一篇:Confluence 6 配置 MySQL 服务器