您的位置:首页 > 移动开发 > IOS开发

为学IOS,进击中......

2015-07-29 08:47 369 查看
打印机,实现多态.输入1,使用彩色打印机.输入2,使用黑白打印机

(一)main函数:#import <Foundation/Foundation.h>#import "Person.h"#import "Printer.h"#import "BlackPrinter.h"#import "ColorPrinter.h"
int main(int argc, const char * argv[]) {
Person *person = [[Person alloc] init]; Printer *printer1 = [[BlackPrinter alloc] init]; Printer *printer2 = [[ColorPrinter alloc] init]; NSInteger a; NSLog(@"输入1和2调换打印机"); scanf("%ld",&a); if (a == 1) { [person print:printer1];
} else [person print:printer2]; return 0;}(二)Printer类#import <Foundation/Foundation.h>
@interface Printer : NSObject
- (void)doPrint;
@end
#import "Printer.h"
@implementation Printer
- (void)doPrint{ NSLog(@"打印机实现了打印");}
@end

(三)Person类
#import <Foundation/Foundation.h>#import "Printer.h"
@interface Person : NSObject
- (void)print:(Printer *)printer;
@end

#import "Person.h"
@implementation Person
- (void)print:(Printer *)printer{ [printer doPrint];}
@end
(四)ColorPrinter类
#import "Printer.h"
@interface ColorPrinter : Printer
@end

#import "ColorPrinter.h"
@implementation ColorPrinter
- (void)doPrint{ NSLog(@"彩色打印机实现了打印");}
@end

(五)BlackPrinter与ColorPrinter类相似,此处省略.

到此,就解决了这个简单的多态问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息