//
// main.m
// get/set方法重写
//
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
//
// Person.h
// get/set方法重写
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property int age;
@property NSString * name;
@end
//
// Person.m
// get/set方法重写
//
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@implementation Person
/*
1. 当想控制外界传入的一些数据的合理性、安全性的时候我们就需要手动重新get/set方法
*/
- (void)setAge:(int)age
{
_age = age;
if (_age < 0) {
_age = 0;
}
}
/*
2. 当我们手动 同时 实现了get/set方法的时候,property就不会自动给我们生成成员变量
*/
- (int)age
{
return _age; //_age报错
}
// 这里如果只重写了set或者get方法时候,成员变量_age是正确的,系统不会报错。但是如果同时重写了set和get方法,系统就会报错,说找不到_age这个成员变量。
@end
// main.m
// get/set方法重写
//
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
//
// Person.h
// get/set方法重写
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property int age;
@property NSString * name;
@end
//
// Person.m
// get/set方法重写
//
// Created by admin on 15/7/29.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@implementation Person
/*
1. 当想控制外界传入的一些数据的合理性、安全性的时候我们就需要手动重新get/set方法
*/
- (void)setAge:(int)age
{
_age = age;
if (_age < 0) {
_age = 0;
}
}
/*
2. 当我们手动 同时 实现了get/set方法的时候,property就不会自动给我们生成成员变量
*/
- (int)age
{
return _age; //_age报错
}
// 这里如果只重写了set或者get方法时候,成员变量_age是正确的,系统不会报错。但是如果同时重写了set和get方法,系统就会报错,说找不到_age这个成员变量。
@end