1、setter方法
作用:为外界提供设置成员变量赋值的方法。使变量不可以被外部任意访问和修改,不使用给成员变量@public,提高安全性。
命名规范:返回类型为void空类型。方法名用set开头之后写名字(去掉下划线),名字首字母大写。必须由接收参数,且参数的类型必须与相应变量的类型相同,参数名不要和成员变量名称重复。
2、getter方法
作用:为外界提供显示内部成员变量的方法。也是使变量不可以被外部任意访问和修改,不使用给成员变量@public,提高安全性。
命名规范:必须有返回值,且返回值类型和相应成员变量相同。方法名与成员变量相同(去掉下划线),不需要接收参数。
例:在Person类中
Person.h声明头文件
#import <Foundation/Foundation.h>
typedef enum{kSexMan,kSexWoman} Sex;//声明性别Sex的枚举类型
@interface Person : NSObject { NSString *_name; int _age; Sex _sex; float _height; } //声明set方法 -(void)setName:(NSString*)name; -(void)setAge:(int)age; -(void)setSex:(Sex)sex; -(void)setHeight:(float)height; //声明get方法 -(NSString *)name; -(int)age; -(Sex)sex; -(float)height; @end
Person.m实现文件 #import "Person.h"//必须调用Person.h的头文件
@implementation Person //实现set方法 -(void)setName:(NSString*)name{ _name = name; } -(void)setAge:(int)age{ _age = age; } -(void)setSex:(Sex)sex{ _sex = sex; } -(void)setHeight:(float)height{ _height = height; } //实现get方法 -(NSString *)name{ return _name; } -(int)age{ return _age; } -(Sex)sex{ return _sex; } -(float)height{ return _height; }
@end
main.m执行程序中
#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc]init];//对象实例化 //用setter方法为对象赋值 [p setName:@"张三"]; [p setAge:25]; [p setSex:kSexMan]; [p setHeight:180.0f]; //用getter方法访问成员变量 NSLog(@"姓名:%@,年龄:%d,性别:%d,身高:%.2f",[p name],[p age],[p sex],[p height]); } return 0; } 注意:1)setter和getter方法均为对象方法
|