首页 > 代码库 > OC语言学习 (三) 成员变量get/set方法和“.”语法,@proterty和@synthesize关键字
OC语言学习 (三) 成员变量get/set方法和“.”语法,@proterty和@synthesize关键字
Person.h
#ifndef oc_Person_h #define oc_Person_h @interface Person : NSObject { int age; @protected float height; } - (int) age; //get方法 - (void) setAge:(int)pAge; //set方法 @end #endif
Person.m
#import <Foundation/Foundation.h> #import "Person.h" @implementation Person - (int) age { return age; } - (void) setAge:(int)pAge { age = pAge; } @end
main.m
int main() { Person* per = [[Person alloc] init]; int age = [per age]; //调用get方法 [per setAge:16]; //调用set方法 //使用“.” 来调用get/set 使用的都是原始变量名,这就要求变量的get、set都符合约定 int age2 = per.age; //get per.age = 17; //set return 0; }
每次这样写get/set方法,很麻烦,OC有一个自动化的方法,即使用@proterty和@synthesize关键字
Person.h
#ifndef oc_Person_h #define oc_Person_h @interface Person : NSObject { int age; @protected float height; } //- (int) age; //- (void) setAge:(int)pAge; @property int age; //编译器自动解释成 int age的get/set方法 的声明 @end #endif
Person.m
#import <Foundation/Foundation.h> #import "Person.h" @implementation Person //- (int) age //{ // return age; //} // //- (void) setAge:(int)pAge //{ // age = pAge; //} @synthesize age; //编译器自动解释成 age的get、set方法实现 @end
OC语言学习 (三) 成员变量get/set方法和“.”语法,@proterty和@synthesize关键字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。