首页 > 其他 > 详细

Objective-C - @property与@synthesize

时间:2015-04-19 08:53:25      阅读:276      评论:0      收藏:0      [点我收藏+]

@property与@synthesize

@interface Person : NSObject
{
    int _age;
    // int age;

    int _height;

    double _weight;

    NSString *_name;
}

// @property:可以自动生成某个成员变量的setter和getter声明
@property int age;
//- (void)setAge:(int)age;
//- (int)age;


@property int height;
//- (void)setHeight:(int)height;
//- (int)height;

- (void)test;


@property double weight;

@property NSString *name;

@end
#import "Person.h"

@implementation Person

// @synthesize自动生成age的setter和getter实现,并且会访问_age这个成员变量
@synthesize age = _age;

@synthesize height = _height;

@synthesize weight = _weight, name = _name;

@end

车类

#import <Foundation/Foundation.h>

@interface Car : NSObject
{
    //int _speed;
    //int _wheels;
}
@property int speed;
@property int wheels;

//@property int speed, wheels;
- (void)test;
@end
#import "Car.h"

@implementation Car
//@synthesize speed = _speed, wheels = _wheels;
// 会访问_speed这个成员变量,如果不存在,就会自动生成@private类型的_speed变量
@synthesize speed = _speed;
@synthesize wheels = _wheels;


- (void)test
{
    NSLog(@"速度=%d", _speed);
}

@end

狗类

@interface Dog : NSObject
@property int age;
@end
#import "Dog.h"

@implementation Dog


- (void)setAge:(int)age
{

}

//- (int)age
//{
//    
//}

//- (int)age
//{
//    return 10;
//}

@end

猫类

@interface Cat : NSObject
{
    //int _age;
    //int age;
}
@property int age;
@end
@implementation Cat

// 默认会访问age这个成员变量,如果没有age,就会自动生成@private类型的age变量
@synthesize age;


@end

Objective-C - @property与@synthesize

原文:http://blog.csdn.net/wangzi11322/article/details/45126253

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!