CHAPTER3 Practice (Object-C)

来源:互联网 发布:搜索引擎优化服务 编辑:程序博客网 时间:2024/06/06 09:44

////  main.m//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import <Foundation/Foundation.h>#import "Car.h"int main(int argc, const char * argv[]){    Car *car = [Car new];    [car print];    Engine *engine2 = [Engine new];    [engine2 setBrand:@"兰博基尼1026"];    [car setEngine:engine2];        Tire *newTire = [Tire new];    [newTire setBrand:@"永久"];    [car setTire:newTire atIndex:2];    [car print];        return 0;}
////  Car.h//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import <Foundation/Foundation.h>#import "Engine.h"#import "Tire.h"@interface Car : NSObject{    Engine *engine;    Tire *tire[4];}- (void) print;- (void) setTire: (Tire*)tire atIndex: (int)index;- (Tire*)tireAtIndex: (int)index;- (void)setEngine: (Engine*)engine;- (Engine*)getEngine;@end//Car
////  Car.m//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import "Car.h"@implementation Car- (id) init{    if(self = [super init])    {        engine = [Engine new];        [engine setBrand:@"法拉利10016"];                tire[0] = [Tire new];        tire[1] = [Tire new];        tire[2] = [Tire new];        tire[3] = [Tire new];                for(int i = 0 ; i < 4 ; i++)            [tire[i] setBrand:@"米其林"];    }    return self;}//init- (void) print{    NSLog(@"%@" , engine);        NSLog(@"%@" , tire[0]);    NSLog(@"%@" , tire[1]);    NSLog(@"%@" , tire[2]);    NSLog(@"%@" , tire[3]);}// print- (void) setTire:(Tire *)_tire atIndex: (int) index{    if(index < 0 || index > 3)    {        NSLog(@"Index is wrong!");        exit(1);    }    tire[index] = _tire;}//setTire- (Tire*) tireAtIndex:(int)index{    if(index<0||index>3)    {        NSLog(@"index is wrong");        exit(1);    }    return tire[index];}//tireAtIndex- (void)setEngine:(Engine *)_engine{    engine = _engine;}//setEngine- (Engine*)getEngine{    return engine;}//getEngine@end//Car

////  Engine.h//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import <Foundation/Foundation.h>@interface Engine : NSObject{    NSString *brand;}- (void) setBrand: (NSString*) _brand;- (NSString*) getBrand;@end

////  Engine.m//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import "Engine.h"@implementation Engine- (NSString*) description{    return [NSString stringWithFormat:@"I am engine ! my brand is %@",brand];}//description- (void) setBrand:(NSString *)_brand{    brand = _brand;}//setBrand- (NSString*) getBrand{    return brand;}//getBrand@end//Engine

////  Tire.h//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import <Foundation/Foundation.h>@interface Tire : NSObject{    NSString *brand;}- (void) setBrand: (NSString*) brandl;- (NSString*) getBrand;@end//Tire

////  Tire.m//  CAR3////  Created by jimzhai on 13-1-24.//  Copyright (c) 2013年 jimzhai. All rights reserved.//#import "Tire.h"@implementation Tire- (NSString*) description{    return [NSString stringWithFormat:@"I am a tire. My brand is %@",brand];}//description- (void) setBrand:(NSString *)brandl{    brand = brandl ;}//setBrand-(NSString*) getBrand{    return brand;}//getBrand@end//Tire






原创粉丝点击