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

來源:互聯網
上載者:User

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

////  main.m//  電子功能表//#import #import Food.h#import CoolFood.h#import HotFood.h#import MainFood.h#import Drinks.h#import BillBoard.hint 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



 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.