- #import <Foundation/Foundation.h>
- @interface Student : NSObject
- {
- //不能直接访问age要通过方法setAge访问,为了有范围 以后尽量不能写@public
- int age;
- }
- /*提供一个方法,给外界纯粹用来设置(age)属性的,称为set方法
- 可以再方法里面对参数进行过滤,如果想要数据“只写”,可只写一个set方法(不常用)
- 1、方法名必须以set开头
- 2、set后跟上成员变量的名称,成员变量的首字母必须大写
- 3、返回值一定是void
- 4、一定要接收一个参数,而且参数类型跟成员变量一致
- 5、形参的名称不能跟成员变量名一样
- */
- /*
- 没有了@public还要想在main函数中直接访问stu->age则要使用get方法
- get 方法 (如果要数据只读 ,只提供get方法)
- 1、作用,返回对象内部的成员变量。保证内部数据的安全。
- 2、命名规范
- 肯定有返回值,返回值类型肯定与成员变量类型一致
- 方法名跟成员变量名一样
- 不需要接收任何参数
-
- */
- - (void)setAge:(int)newAge; //set函数
- - (int)age; //get函数
- - (void)study;
- @end
- @implementation Student
- - (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 setAge:0];
- NSLog(@”学生的年龄是%d岁”, [stu age]); //此age是get函数中的age。输出1岁
- [stu study]; //输出1岁的
- return 0;
- }
复制代码 |