测试题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
复制代码
这是我做的,请各位大神斧正,优化。 |
|