OC 复合

来源:互联网 发布:淘宝服装拍照技巧 编辑:程序博客网 时间:2024/04/29 23:48
////  main.m//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>#import "Computer.h"#import "Mouse.h"#import "Monitor.h"#import "Keyboard.h"#import "Host.h"int main(int argc, const char * argv[]){    @autoreleasepool {                Monitor *monitor = [[Monitor alloc]initWithPrice:700];        Host *host = [[Host alloc]initWithPrice:3000];        Mouse *mouse = [[Mouse alloc]initWithPrice:400];        Keyboard *keyboard = [[Keyboard alloc]initWithPrice:100];                //复合类对象的创建        Computer *myComputer = [[Computer alloc]initWithMonitor:monitor keyboard:keyboard host:host mouse:mouse];        NSLog(@"%f",[myComputer totalPrice]);            }    return 0;}
<pre name="code" class="objc">////  Computer.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>#import "Monitor.h"#import "Host.h"#import "Mouse.h"#import "Keyboard.h"@interface Computer : NSObject{    //将其他类的对象,作为复合类的成员变量    Monitor *_monitor;    Keyboard *_keyboard;    Host *_host;    Mouse *_mouse;    }///复合类的初始化方法- (id)initWithMonitor:(Monitor *)monitor             keyboard:(Keyboard *)keyboard                 host:(Host *)host                mouse:(Mouse *)mouse;///合算总价格- (float)totalPrice;@end

////  Computer.m//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Computer.h"@implementation Computer///复合类的初始化方法- (id)initWithMonitor:(Monitor *)monitor             keyboard:(Keyboard *)keyboard                 host:(Host *)host                mouse:(Mouse *)mouse{    _monitor = monitor;    _keyboard = keyboard;    _host = host;    _mouse = mouse;    return self;    }///合算总价格- (float)totalPrice{    float total = [_monitor price] + [_host price] + [_mouse price] + [_keyboard price];    return total;}@end

////  Mouse.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Mouse : NSObject{    float _price;}///初始化方法- (id)initWithPrice:(float)price;- (float)price;@end

////  Mouse.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Mouse : NSObject{    float _price;}///初始化方法- (id)initWithPrice:(float)price;- (float)price;@end

////  Monitor.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Monitor : NSObject{    float _price;}///初始化方法- (id)initWithPrice:(float)price;- (float)price;@end

////  Monitor.m//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Monitor.h"@implementation Monitor- (id)initWithPrice:(float)price{    _price = price;    return self;}- (float)price{    return _price;}@end
////  Host.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Host : NSObject{    float _price;}///初始化方法- (id)initWithPrice:(float)price;- (float)price;@end


////  Host.m//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Host.h"@implementation Host- (id)initWithPrice:(float)price{    _price = price;    return self;}- (float)price{    return _price;}@end

////  Keyboard.h//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import <Foundation/Foundation.h>@interface Keyboard : NSObject{    float _price;}///初始化方法- (id)initWithPrice:(float)price;- (float)price;@end

////  Keyboard.m//  oc02_复合////  Created by Vision on 9/12/14.//  Copyright (c) 2014 Vision. All rights reserved.//#import "Keyboard.h"@implementation Keyboard- (id)initWithPrice:(float)price{    _price = price;    return self;}- (float)price{    return _price;}@end



0 0
原创粉丝点击