【Object-C】Get / Set 方法
来源:互联网 发布:站外优化的理解 编辑:程序博客网 时间:2024/05/29 02:34
get /set 方法的作用
当类中的属性被设置为私有时,需要用get/set方法来存取属性。
set()是给属性赋值的,get()是取得属性值的
被设置和存取的属性一般是私有
主要是起到封装的作用,不允许直接对属性操作
set()和get()不一定同时存在,看程序需求
File “person.m”
#import <Foundation/Foundation.h>
@interface person : NSObject
{
int age ;
int height ;
int weight ;
}
@interface person : NSObject
{
int age ;
int height ;
int weight ;
}
//get set 方法的代替方法。可以看到,set/get方法创建虽然很简单,但是当属性很多的时候,大量冗余的代码带来
//的工作量就呵呵了。X-code 提供了一个快捷的办法,需要用get/set方法的属性直接用“@property 类型 name ”创建。
//这样就省去了自己敲各个属性get,set 方法的过程,用起来非常的快捷。
@property int age ;
@property int height ;
@property int weight ;
@property int height ;
@property int weight ;
//get set 方法,
-(int)age;
-(void)setAge:(int) newAge;
-(int)height;
-(void)setHeight:(int) newHeight;
-(int)weight;
-(int)age;
-(void)setAge:(int) newAge;
-(int)height;
-(void)setHeight:(int) newHeight;
-(int)weight;
-(void)setWeight:(int) newWeight;
//输出
-(void)display;
@end
File “person.m”
#import "person.h"
@implementation person
@implementation person
//与property相对应的,set/get实现方法可以简化为以下三行代码。形式为“@Synthesize 属性”
@synthesize age ;
@synthesize height ;
@synthesize weight ;
@synthesize height ;
@synthesize weight ;
//set、get方法实现
-(int)age
{
return age;
}
-(void)setAge:(int)newAge
{
age = newAge ;
}
-(int)height
{
return height ;
}
-(void)setHeight:(int)newHeight
{
height = newHeight ;
}
-(int)weight
{
return weight ;
}
-(void)setWeight:(int)newWeight
{
weight = newWeight ;
}
-(void)display
{
NSLog(@"age = %i , height = %i , weight = %i",age,height,weight);
}
{
return age;
}
-(void)setAge:(int)newAge
{
age = newAge ;
}
-(int)height
{
return height ;
}
-(void)setHeight:(int)newHeight
{
height = newHeight ;
}
-(int)weight
{
return weight ;
}
-(void)setWeight:(int)newWeight
{
weight = newWeight ;
}
-(void)display
{
NSLog(@"age = %i , height = %i , weight = %i",age,height,weight);
}
@end
File “mail.m"
#import <Foundation/Foundation.h>
#include "person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
person *personone = [[person alloc ]init];
#include "person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
person *personone = [[person alloc ]init];
[personone display];
[personone setAge: 18];
[personone setWeight: 50] ;
[personone setHeight: 175] ;
[personone display];
}
return 0;
return 0;
}
输出结果:
2014-11-25 10:50:29.894 accesser[731:303] Hello, World!
2014-11-25 10:50:29.896 accesser[731:303] age = 0 , height = 0 , weight = 0
2014-11-25 10:50:29.897 accesser[731:303] age = 18 , height = 175 , weight = 50
0 0
- 【Object-C】Get / Set 方法
- Object-C之set方法,get方法
- object-c中get/set方法
- C#Set/Get方法
- 【C#】 get 与 set 方法
- C#set和get方法
- Object c的set和get方法,ARC和MRC 下面的实现
- Objective-c set方法,get方法
- object-c set方法的内存管理
- Object-c-----set方法的内存管理
- C#-get/set和方法重载
- objective-c set/get方法(自定义自己的set/get方法)
- 黑马程序员------[Objective-C]set方法和get方法
- c#set()get()
- C#get Set
- 【C#】 get和set
- 黑马程序员-Object C之set方法的内存管理
- Flex get set方法
- (转)MapReduce Design Patterns(chapter 1)(一)
- 【DP】UVA 10271 Chopsticks
- 第14周项目6.2
- cocos2dx 3.X 接收图片 base64 转码显示
- 服务器框架搭建随笔
- 【Object-C】Get / Set 方法
- 算法导论 第23章 最小生成树 ,Kruskal算法,和Prim算法d
- Silverlight 常用小知识点总结
- IOS6之AutoLayout(一)
- IOS6之AutoLayout(二)
- 邮箱 POP3服务器(端口110) SMTP服务器(端口25)
- 数字证书
- IOS6之AutoLayout(三)
- 【Object-C】类Class