#import <Foundation.Foundation.h> @interface Student : NSObject { int _age; char *_name; } //声明set方法 - (void) setAge: (int)age; - (void) setName: (char *) name; //声明get方法 - (int)age; - (char *) name; @end @implementation Student //实现set方法 - (void) setAge: (int)age { if(age<18) { age=20; } _age=age; } - (void) setName: (char *) name { _name=name; } //实现get方法 - (int)age { return _age; } - (char *) name { return _name; } @end int main() { Student *stu=[Student new]; //调用set方法赋值 [stu setAge:20]; //调用get方法取值 NSLog(@"学生的年龄是:%d",[stu age]); }
1.set方法作用:提供一个方法给外界设置成员变量的值,有一定的安全性
set方法的命名规范:方法法必须以set开头,后面跟上成员变量的名称,并且成员变量的名称首字母大写
一定要接收一个参数,参数类型跟成员变量的数据类型一致
定义的形参名称不能跟成员变量名称一样
返回值一定是void
2.get方法的作用:返回对象内部的成员变量的值
get方法的命名规范:返回值类型必须和成员变量的数据类型一致
方法名称一般跟成员名称一样
没有形参
oc的弱语法:oc在运行的过程中才会去检查方法/类是否有实现。也就是说在方法/类没有的实现,有声明的时候,在编译链接期间是不会报error,仅发出warn,但是在运行时会报 错。
若有方法/类的实现,没有声明时,在编译链接期间是不会报error,仅发出warn,并且在运行通过