为学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类相似,此处省略.
到此,就解决了这个简单的多态问题
(一)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类相似,此处省略.
到此,就解决了这个简单的多态问题
相关文章推荐
- 激光彩色打印机维修常识常见问题及解决
- 解决ie动态修改link样式,import css不刷新的问题
- C#与.net高级编程 C#的多态介绍
- C#中面向对象编程机制之多态学习笔记
- C#中的多态深入理解
- C#中多态、重载、重写区别分析
- css import与link的区别
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- Flex include和import ActionScript代码
- c#基础学习之多态
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
- phpmyadmin导入(import)文件限制的解决办法
- 从汇编看c++中多态的应用
- javascript 面向对象全新理练之继承与多态
- Java多态的使用注意事项
- Thinkphp中import的几个用法详细介绍
- C#使用虚拟方法实现多态
- 实例讲解PHP面向对象之多态
- C#中多态现象和多态的实现方法
- C++基础之this指针与另一种“多态”