[quote=引用 8 楼 shen_liang_sl 的回复:] 多态说白了是一组通用方法的封装,只申明方法,可实现,也可不实现。具体实现交给子类。举个例子,你现在需要对不同的图片数据进行处理,比如bmp jpg gif等等,由于不同类型的图片处理方法都基本累似,比如反转、旋转、自动、从文件读等等。为了让自己的代码简单,便于使用,就统一申明一个图片处理的基类,定义了图片处理的方法,然后每一种图片都对应一个从基类继承的虚函数方法,去实现。通过这种方式能够统一图片处理接口,方便使用,需要处理什么图片就实例化对应类。
[quote=引用 13 楼 NineTyNine_LP 的回复:] 你看下OOP这部分内容。就知道怎么用多态了。 简单的说,就是一个事物可以有多种状态。 比如有一个事物叫:房子 而房子又可以有:平房、楼房、别墅。这些都是房子的不同状态。也就是多态。
我给楼主讲下我们实际运用中的一个例子吧~ 我们要给一系列文档签名。有CAD,word,pdf等文档。架构时就定义了签名的虚函数(sign()),然后具体到cad、word等再具体实现签名
抛开语言层面,我也不是高手,单从管理事情角度出发,没有任何公司安排一个任务下去是没有负责人的,多态就是相当于有任务物负责人不知道是谁。这真是糟糕可怕的管理
你看下OOP这部分内容。就知道怎么用多态了。 简单的说,就是一个事物可以有多种状态。 比如有一个事物叫:房子 而房子又可以有:平房、楼房、别墅。这些都是房子的不同状态。也就是多态。
House *h; PingFang pf; h = &pf;
多态技术不如代码生成技术可控、好调试。
你不需要用到,说明对于你来说这些多态是没用的,不需要特别想着怎么用上。多态其实也是为了解决几类问题。 需要考虑架构,需要抽象的时候你就知道怎么用了。 如果你想了解一下多态是怎么用的,你看一下经典的设计模式,用C++怎么实现的就知道了。
多态说白了是一组通用方法的封装,只申明方法,可实现,也可不实现。具体实现交给子类。举个例子,你现在需要对不同的图片数据进行处理,比如bmp jpg gif等等,由于不同类型的图片处理方法都基本累似,比如反转、旋转、自动、从文件读等等。为了让自己的代码简单,便于使用,就统一申明一个图片处理的基类,定义了图片处理的方法,然后每一种图片都对应一个从基类继承的虚函数方法,去实现。通过这种方式能够统一图片处理接口,方便使用,需要处理什么图片就实例化对应类。
64,648
社区成员
250,503
社区内容
加载中
试试用AI创作助手写篇文章吧