你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS開發之電子菜單的設計與實現(繼承、封裝、多態)

IOS開發之電子菜單的設計與實現(繼承、封裝、多態)

編輯:IOS開發綜合
//
//  main.m
//  電子菜單
//

#import 
#import Food.h
#import CoolFood.h
#import HotFood.h
#import MainFood.h
#import Drinks.h
#import BillBoard.h

int main(int argc, const char * argv[])
{
    
    
    Food * food = [[Food alloc]init];
    [food showInformation:@紅燒肉 andShowMaterial:@豬肉 蔥姜蒜andShowNurition:@鈣鐵鋅新維生素];
    NSLog(@%@,food);
    @autoreleasepool {
        
        // insert code here...
        NSLog(@Hello, World!);
        
    }
    return 0;
}
//
//  Menu.h
//  電子菜單
//


#import 
#import Food.h
#import CoolFood.h
#import HotFood.h
#import MainFood.h
#import Drinks.h
#import BillBoard.h

@interface Menu : NSObject
{
    /**用來記錄點餐數量*/
    int _recordOfFood;
    
    /**用來記錄點餐狀態*/
    BOOL _statusOfFood;
    
    /**用來記錄食品價格*/
    int _priceOfFood;
}

-(void)showInformation:(Food *)food;

@end
//
//  Menu.m
//  電子菜單
//


#import Menu.h

@implementation Menu
-(void)showInformation:(Food *)food
{
    if ([food isKindOfClass:[CoolFood class]]) {
        CoolFood * cool = (CoolFood *)food;
        [cool show];
    }
    else if([food isKindOfClass:[HotFood class]])
    {
        HotFood * hot = (HotFood *)food;
        [hot show];
    }
    else if([food isKindOfClass:[MainFood class]])
    {
        MainFood * mainFood = (MainFood *)food;
        [mainFood show];
    }
    else
    {
        Drinks * drinks = (Drinks *)food;
        [drinks show];
    }
}
@end

//  Food.h
//  電子菜單
//
/*
    可以使用繼承
    電子菜單的實現
    1.食品類
 */
#import 

@interface Food : NSObject
{
    /**用來記錄菜品名稱*/
    NSString * _foodName;
    
    /**組成材料*/
    NSString * _material;
    
    /**營養信息*/
    NSString * _nutrition;
    
    /**用來記錄食品種類*/
    NSString * _kindOfFood;
}
@property NSString * foodName;
@property NSString * material;
@property NSString * nutrition;
@property NSString * kindOfFood;

-(void)showInformation:(NSString*)foodName andShowMaterial:(NSString *)material andShowNurition:(NSString *)nutrition;
@end

//
//  Food.m
//  電子菜單
//


#import Food.h

@implementation Food
@synthesize foodName = _foodName;
@synthesize material = _material;
@synthesize nutrition = _nutrition;
@synthesize kindOfFood = _kindOfFood;

-(void)showInformation:(NSString*)foodName andShowMaterial:(NSString *)material andShowNurition:(NSString *)nutrition;
{
    _foodName = foodName;
    _material = material;
    _nutrition = nutrition;
    NSLog(@%@ %@ %@,_foodName,_material,_nutrition);
}
-(NSString *)description
{
    return [NSString stringWithFormat:@食品名稱:%@食材:%@ 營養物質:%@,_foodName,_material,_nutrition];
}
@end

#import Food.h

@interface CoolFood : Food
-(void)show;
@end

#import CoolFood.h

@implementation CoolFood
-(void)show
{
    NSLog(@您選擇的是涼菜);
}
@end

#import Food.h

@interface HotFood : Food
-(void)show;
@end

#import HotFood.h

@implementation HotFood
-(void)show
{
    NSLog(@您選擇的是熱菜);
}
@end

#import Food.h

@interface MainFood : Food
-(void)show;
@end

#import MainFood.h

@implementation MainFood
-(void)show
{
    NSLog(@您選擇的是熱菜);
}
@end

#import Food.h

@interface Drinks : Food
-(void)show;
@end

#import Drinks.h

@implementation Drinks
-(void)show  
{
    NSLog(@您選擇的是酒水);
}
@end

#import 

@interface BillBoard : NSObject
{
    /**排名*/
    int _rank;
    
    /**評論*/
    NSString * _comment;
}
-(id)init;
-(void)showRank:(int)rank;
@end

#import BillBoard.h

@implementation BillBoard
-(id)init
{
    self = [super init];
    if (self!=nil) {
        _rank = 0;
    }
    return self;
}
-(void)showRank:(int)rank
{
    _rank += rank;
    NSLog(@您的排名是%d,_rank);
}

@end



 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved