标签:blog io ar 2014 on log amp as 设计
Main.m
#import <Foundation/Foundation.h> #import "Car.h" #import "Engine.h" #import "Lamp.h" /* 设计如下几个类,Car自定义初始化方法,初始化方法传入引擎对象和车灯对象。 当车启动的时候,会调用引擎转动,车灯亮灯,当车停止的时候调用引擎停止转动,车灯熄灭。 */ int main(int argc, const char * argv[]) { //创建引擎对象 Engine *engine = [[Engine alloc] initWithModel:@"1234567" withCapacity:3.14]; //创建车灯对象 Lamp *lamp = [[Lamp alloc] initWithWattage:60.0]; //创建car对象 Car *car = [[Car alloc] initWithEngine:engine withLamp:lamp]; [car setName:@"兰博基尼" withLicence:@"8888888"]; int s; while (1) { NSLog(@"请输入指令(1:启动 2:停止):"); scanf("%d",&s); if (s == 1) { [car run]; }else if (s == 2) { [car stop]; }else { NSLog(@"输入非法"); } } return 0; }
#import <Foundation/Foundation.h> #import "Engine.h" #import "Lamp.h" @interface Car : NSObject { NSString *_name; //车名 NSString *_licence; //车牌号 Engine *_engine; //引擎 Lamp *_lamp; //车灯 } //自定义初始化方法 - (id)initWithEngine:(Engine *)engine withLamp:(Lamp *)lamp; - (void)setName:(NSString *)name withLicence:(NSString *)licence; //车启动 - (void)run; //车停止 - (void)stop;
#import "Car.h" @implementation Car //自定义初始化方法 - (id)initWithEngine:(Engine *)engine withLamp:(Lamp *)lamp { self = [super init]; if (self != nil) { _engine = engine; _lamp = lamp; } return self; } - (void)setName:(NSString *)name withLicence:(NSString *)licence { _name = name; _licence = licence; } //车启动 - (void)run { NSLog(@"车牌号为:%@的%@车启动了",_licence,_name); [_engine turn]; [_lamp light]; } //车停止 - (void)stop { NSLog(@"车牌号为:%@的%@车停止了",_licence,_name); [_engine stopTurn]; [_lamp dark]; }Engine.h
#import <Foundation/Foundation.h> @interface Engine : NSObject{ NSString *_model; //型号 float _capacity; //排量 } //自定义初始化方法 - (id)initWithModel:(NSString *)model withCapacity:(float)capacity; //转动 - (void)turn; //停止转动 - (void)stopTurn;
//自定义初始化方法 - (id)initWithModel:(NSString *)model withCapacity:(float)capacity { self = [super init]; if (self != nil) { _model = model; _capacity = capacity; } return self; } //转动 - (void)turn { NSLog(@"型号为:%@ 排量为:%.2f的引擎转动了",_model,_capacity); } //停止转动 - (void)stopTurn { NSLog(@"型号为:%@ 排量为:%.2f的引擎停止转动了",_model,_capacity); }
@interface Lamp : NSObject { float _wattage; //瓦特 } //自定义初始化的方法 - (id)initWithWattage:(float)wattage; //灯亮 - (void)light; //熄灯 - (void)dark;
//自定义初始化的方法 - (id)initWithWattage:(float)wattage { self = [super init]; if (self != nil) { _wattage = wattage; } return self; } //灯亮 - (void)light { NSLog(@"瓦特数:%.2f的灯亮了",_wattage); } //熄灯 - (void)dark { NSLog(@"瓦特数:%.2f的灯灭了",_wattage); }
标签:blog io ar 2014 on log amp as 设计
原文地址:http://blog.csdn.net/pengyuan_d/article/details/40397383