OC基础--成员变量的封装

时间:2022-08-10 21:55:41

一、封装的作用:

1.重用

2.不必关心具体的实现

3.面向对象三大特征之一

4.具有安全性

二、OC中成员变量的命名规范以及注意事项

1、命名规范--.成员变量都以下划线“_”开头

  1)为了跟get方法的名称区分开

  2)一看到下划线开头的变量,肯定是成员变量

2、注意事项--以后的成员变量最好不要写@public,因为@public修饰的成员变量可以被别人乱改

三、成员变量的set方法

  1.作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值

  2.命名规范:

    1)方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写--例:setAge

    2)形参名称不要跟成员变量名同名--例:-(void) setAge:(int) newAge;

四、成员变量的get方法

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

  2.命名规范:get方法的名称一般就跟成员变量同名

五、代码示例

/*
成员变量的命名规范
*/

#import <Foundation/Foundation.h>

// 声明
@interface Person : NSObject
{
    // 成员变量都以下划线 _ 开头
    // 1.可以跟get方法的名称区分开
    // 2.一看到下划线开头的变量,肯定是成员变量
    int _age;
}

- (void) setAge:(int)newAge;

- (int) age;

@end

// 实现
@implementation Person

- (void) setAge:(int)newAge
{
    _age = newAge;
}

- (int) age
{
    return _age;
}

@end

int main()
{
    Person *p = [Person new];
    [p setAge:20];
    
    int age2 = [p age];
    
    NSLog(@"年龄是%i", age2);
    
    return 0;
}