标签:
1.作用:提供一个方法给外界设置成员变量的值
2.命名规范:
1> 方法名必须是set开头
2> set后面跟上成员变量的名称,并且成员变量的首字母必须是大写
3> 返回值一定是void
4> 一定要接受一个参数,而且参数类型跟成员变量的类型一致
5> 形参名称不能和成员变量名一样
例:
- (void)setAge : (int) newAge; // 方法声明
- (void)setAge : (int) newAge // 方法实现
{
if (newAge <= 0)
{
newAge = 1; // 对传入的参数进行过滤
}
age = newAge;
}
1.作用:返回对象内部的成员变量值
2.命名规范:
1> 肯定有返回值,并且返回值类型肯定和成员变量类型一致
2> 方法名和成员变量名一样
3> 不需要接受任何参数
例:
- (int) age; // 方法的声明
- (int) age // 方法的实现
{
return age;
}
成员变量的命名规范:一定要以下划线“_”开头;
作用:1.让成员变量和get方法的名称区分开
2.可以跟局部变量区分开,一看到下划线开头的变量,一般都是成员变量
#import <Foundation/Foundation.h>
@interface Student : NSObject
{
// 成员变量尽量不要用@public保证数据的安全性,没有@public就不能通过 对象->成员变量 来赋值(访问),这是可以提供一个set方法给外界设置成员变量的值(虽然没有了@public,但是在对象方法内还是能直接访问成员变量的)
// @public
int age;
}
- (void)setAge:(int)newAge;
- (int)age;
- (void)study;
@end
@implementation Student
// set方法的实现
- (void)setAge:(int)newAge
{
// 对传进来的参数进行相应的过滤
if(newAge <= 0)
{
newAge = 1;
}
age = newAge;
}
// get方法的实现
- (int)age
{
return age;
}
- (void)study
{
NSLog(@"%d岁的学生在学习", age); // 这里的使用age即使在声明成员变量时没有写@public也可以直接访问(对象方法内部可以直接访问成员变量)
}
@end
int main()
{
Student *stu = [Student new];
// 通过调用set方法对对象内部的成员变量进行赋值
[stu setAge:-10];
[stu study];
// 由于没有了@public这是调用get方法获取对象内部的成员变量值
NSLog(@"这个学生的年龄是%d", [stu age]);
return 0;
}
标签:
原文地址:http://www.cnblogs.com/unique-ios/p/4322564.html