新建工程:CarParts,修改代码如下:
//
// main.m
// CarParts
//
// Created by cloud on 13-3-8.
// Copyright (c) 2013年 cloud. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Tire:NSObject
@end
@implementation Tire
- (NSString *) description
{
return (@"I am a tire.I last a while");
}//description
@end
@interface Engine : NSObject
@end
@implementation Engine
- (NSString *)description
{
return (@"I am an engine.Vroom!");
}
@end
@interface Car : NSObject
{
Engine *engine;
Tire *tires[4];
}
- (void) print;
@end
@implementation Car
- (id)init
{
if (self=[super init]) {
engine=[Engine new];
tires[0]=[Tire new];
tires[1]=[Tire new];
tires[2]=[Tire new];
tires[3]=[Tire new];
}
return (self);
}
- (void) print
{
NSLog(@"%@",engine);
NSLog(@"%@",tires[0]);
NSLog(@"%@",tires[1]);
NSLog(@"%@",tires[2]);
NSLog(@"%@",tires[3]);
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
Car *car;
car=[Car new];
[car print];
}
return 0;
}
注意:一、description方法为对象的描述方法,二、init为初始化方法,对象分配成功后,就会调用它。