- 成员变量的可见度
- @public 类的外部和内部都可以访问
- @protected 受保护的, 外部不能访问, 内部可以访问
- @private 私有的, 外部不可以访问, 内部可以访问, 但是子类不能够访问;
- 如果没有写提示, 则系统默认是 @protected, 受保护的!
@interface Person : NSObject
{
@public
NSString *_name;
NSString *_sex;
@protected
NSString *_hobby;
@private
NSInteger _age;
}
- 对于@protected修饰的实例变量不能访问的, 设置两个方法分别为setter和getter方法 来赋值和读取
- setter 复制方法(又名: 设置器) 与getter取值方法(又名 访问器)
在.h文件中声明 (设置器与访问器的放法声明)
设置器
- 以set开头
- 2.因无返回值 用(void)
-(void)setHobby:(NSString *)hobby;
访问器
- 带有一个方绘制无参数的方法
- OC中只能带一个返回值(设置器可以同时赋值多个参数, 而访问器只能访问一个参数)
假设为 Student 类
- (NSString *)hobby;
.m 中实现 (设置器与访问器的方法实现)
- (void) setHobby:(NSString *)hoby
{
_hobby = hobby;
}
- (NSString *)hobby
{
return _hobby;
};
赋值可以同时赋多个值, 但每一个值都必须有一个相对的访问器,
多个参数的赋值, 图通多个参数的初始化一样!
- (void)setName:(NSString *)name
sex:(NSString *)sex
age:(NSInter)age;
- (NSString *)name; // 对应的访问器
- (NSString *)sex;
- (NSInteger)age
函数中 初始化为
Student *stu1 = [[Student alloc] init];
创建对象
[stu1 setName:@"xiaoming" sex:@"number" number:20012];
用setter方法赋值
注: 实例变量的命名必须满足如 _name 一般以 下划线
开头, 字母采取驼峰命名法: numberOfStudent 表示学生的数目, 每个单词的首字母大写!