/*
类的封装性
*/
#import <Foundation/Foundation.h>
@interface Student : NSObject
{
//成员变量尽量不要用@public
//@public
int age;
}
- (void) study;
// 提供一个方法给外界设置age属性值
/* set方法
1.提供一个方法给外界设置成员变量值
2.命名规范:
>方法名必须以set开头
>set后面跟上成员变量的名称,成员变量的首字母必须大写
>返回值一定是void
>一定要接受一个承参数,而且参数类型跟成员变量类型一直
>形参的名称不能和成员变量名一样
*/
/* get方法
1.返回对象内部的成员变量
2.命名规范:
>肯定有返回值,返回值类型跟成员变量一致
>方法名跟成员变量名一致
>不需要接受任何参数
*/
- (void) setAge : (int) newAge;
- (int) age ;
@end
@implementation Student
- (void) study
{
NSLog(@"年龄为%d岁的学生在学习",age);
}
- (void) setAge : (int) newAge
{
//对传进来的参数进行过滤。
if(newAge <= 0)
newAge = 1;
age = newAge;
}
- (int) age
{
return age;
}
@end
int main()
{
Student *stu = [Student new];
[stu setAge : 10];
NSLog(@"学生的年龄是%d岁",[stu age]);
[stu study];
return 0;
}