Objectice-C之类与对象

  Objectice-C申明一个car接口如下:

#import <Foundation/Foundation.h>

@interface Car : NSObject
{
int year;
NSString *make;
NSString *model;
}
- (void) setMake:(NSString *) aMake andModel:(NSString *) aModel andYear: (int) aYear;
- (void) printCarInfo;
- (int) year;
@end

实现该接口:

#import "Car.h"

@implementation Car
- (id) init
{
self = [super init];
if (!self) return nil;

make = nil;
model = nil;
year = 1901;

return self;
}

- (void) setMake:(NSString *) aMake andModel:(NSString *) aModel andYear: (int) aYear
{
make = [NSString stringWithString:aMake];
model = [NSString stringWithString:aModel];
year = aYear;
}

- (void) printCarInfo
{
if (!make) return;
if (!model) return;

printf("Car Info\n");
printf("Make: %s\n", [make UTF8String]);
printf("Model: %s\n", [model UTF8String]);
printf("Year: %d\n", year);
}

- (int) year
{
return year;
}
@end

创建对象:

Car *myCar = [[Car alloc] init];

采用先分配内存然后调用的方式,此时sizeof(myCar)的大小为4,sizeof(*myCar)大小为16.

释放对象:

[myCar release];
posted @ 2012-03-23 08:31  FoxBabe  阅读(393)  评论(1编辑  收藏  举报