#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,并且在运行通过