黑马程序员技术交流社区
标题:
入学测试题9
[打印本页]
作者:
泥娃娃
时间:
2016-3-20 09:48
标题:
入学测试题9
测试题9.
设计一个菜单类
*一个添加菜单的对象方法
*一个删除菜单的对象方法
*还有一个打印数组中所有菜单的对象方法
main.m
#import <Foundation/Foundation.h>
#import "CZCarte.h"
#import "CZFood.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 创建一个菜单对象
CZCarte *carte = [CZCarte new];
// 为菜单对象的成员属性赋值
carte->_foods = [[NSMutableArray alloc]init];
NSLog(@"--------原菜单内容---------");
[carte printCarte]; //打印空菜单
// 创建菜对象 并为菜的属性赋值
CZFood *f1 = [CZFood new];
f1.name = @"酸辣土豆丝";
f1.price = 12;
f1.info =@"辣椒炒土豆";
CZFood *f2 = [CZFood new];
f2.name = @"鱼香肉丝";
f2.price = 24;
f2.info =@"微辣";
NSLog(@"--------添加后菜单内容-------");
[carte addFood:f1];//调用添加菜单方法
[carte addFood:f2];//调用添加菜单方法
[carte printCarte];//打印菜单
NSLog(@"--------删除后菜单内容-------");
[carte removeFood:f1];//调用删除菜单方法
[carte printCarte]; //打印菜单
}
return 0;
}
复制代码
CZCarte.h
#import <Foundation/Foundation.h>
@class CZFood;
@interface CZCarte : NSObject
{ @public
NSMutableArray * _foods;
}
/**添加菜*/
-(void) addFood:(CZFood *) food;
/**删除菜*/
-(void) removeFood:(CZFood *) food;
/**打印菜单*/
-(void) printCarte;
@end
复制代码
CZCarte.m
#import "CZCarte.h"
#import "CZFood.h"
@implementation CZCarte
/**添加菜*/
-(void) addFood:(CZFood *) food {
[_foods addObject:food];
}
/**删除菜*/
-(void) removeFood:(CZFood *) food {
[_foods removeObject:food];
}
/**打印菜单*/
-(void) printCarte {
for (CZFood *food in _foods) {
NSLog(@"菜名:%@",[food name]);
NSLog(@"价格:%.2f",[food price]);
NSLog(@"简介:%@",[food info]);
}
}
@end
复制代码
CZFood.h
#import <Foundation/Foundation.h>
@interface CZFood : NSObject
@property (nonatomic,strong) NSString *name; // 菜名
@property (nonatomic,assign) float price; //价格
@property (nonatomic,strong) NSString *info; // 简介
@end
复制代码
这是我做的,请各位大神斧正,优化。
作者:
x313611232
时间:
2016-3-27 18:18
厉害!!!!
作者:
a18302465887
时间:
2016-3-27 21:42
厉害!!!!
作者:
wanwan_jz
时间:
2016-3-27 23:43
厉害!!!!
作者:
tdwydan1
时间:
2016-3-28 11:31
借鉴一下,以后肯定会用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2