类与类之间的简单传值
来源:互联网 发布:linux内核安装教程 编辑:程序博客网 时间:2024/06/09 23:20
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;}
Car.h
#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;
Car.m
#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;
Engine.m
//自定义初始化方法- (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); }
Lamp.h
@interface Lamp : NSObject { float _wattage; //瓦特 }//自定义初始化的方法- (id)initWithWattage:(float)wattage;//灯亮- (void)light;//熄灯- (void)dark;
Lamp.m
//自定义初始化的方法- (id)initWithWattage:(float)wattage { self = [super init]; if (self != nil) { _wattage = wattage; } return self;}//灯亮- (void)light { NSLog(@"瓦特数:%.2f的灯亮了",_wattage); }//熄灯- (void)dark { NSLog(@"瓦特数:%.2f的灯灭了",_wattage); }
0 0
- 类与类之间的简单传值
- swift视图与控制器之间的简单传值
- Rose的 一些简单说明--类与类之间的关系、用例与用例之间的关系
- Rose的 一些简单说明--类与类之间的关系、用例与用例之间的关系
- IOS类与类之间的传值
- 类与类之间的传值问题
- 使用JSON在前台与后台之间进行简单的传值
- android中利用代理模式简单实现界面之间的跳转与传值
- RING0 与 RING3之间的简单交互
- OC与Java之间的简单对比
- unity与iOS之间的简单交互
- unity与Android之间的简单交互
- UML类图基础知识 类与类之间的关系简单介绍 类与类之间的关系如何用图形符号表示
- JSP动态网页--网页之间、类之间的传值
- Servlet与JSP之间的传值
- servlet与JSP之间的传值
- Jsp与Servlet之间的传值
- Jsp与Servlet之间的传值
- cocos2dx【Scene场景过度效果】
- Webkit内核探究【2】——Webkit CSS实现
- 为什么要使用ngrok
- linux系统文件流、文件描述符与进程间关系详解
- ERROR: tried to execute code in unprepared class 'XXXX'
- 类与类之间的简单传值
- 第9周 项目1 求1000以内的偶数和(2)
- 关于iOS中将json格式存到文件中并读取解析成字典
- iOS实现UIImageView透明区域点击事件穿透
- 第9周利用循环求和while语句
- 免费图标:旅游和生态相关的图标素材
- DTCMS_GetListByPage
- [数据结构与算法]最佳置换算法和先进先出置换算法
- 第九周项目三(a图)