多态和策略模式有着一些相同之处,这点我主要从概念上面来理解。多态:相同类型的变量,调用同一个方法时呈现出多种不同的行为特征,主要是通过继承来实现,将子类对象直接赋给父类引用变量,这样在编译时引用变量类型是父类类型,而运行时类型是子类类型,导致运行时调用该引用变量的方法总会表现子类方法,而调用其引用变...
分类:
其他好文 时间:
2014-05-14 03:42:25
阅读次数:
326
流概述
流是C++标准的组成部分,流的主要目标是,将从磁盘读取文件或将输入写入控制台屏幕的问题封装起来,创建流后程序员就可以使用它,流将负责处理所有的细节。
IO类库
在C++输入?输出操作是通过C++系统提供的完成I/O操作的一组类实现的。主要包括:
标准流类:处理与标准输入设备(键盘)和输出设备(显示器)关联的数据流
文件流类:处理与磁盘文件关联的数据流
字符串流类:利用...
分类:
编程语言 时间:
2014-05-11 22:26:56
阅读次数:
523
静态方法独立于类和类的实例,它是定义在类作用域内的方法。可以由类和实例直接调用。
类方法和静态方法都要使用装饰器来定义,定义的基本格式是:
@staticmethod
def ():
#do something
类方法定义的基本格式是:
@ classmethod
def (cls):
#dosomething
类方法与成员方法不同的是,它需...
分类:
编程语言 时间:
2014-05-11 22:25:53
阅读次数:
422
解决的问题是:我有一个类A,里面可能需要很多不同行为的功能。
现在有三种解决方法,第一种:每个功能都弄成一个类,然后继承类A,这种的问题是,如果功能很多,会造成类爆炸。
第二种:我将功能类组合上类A上,这种想法是好的,但还没够弹性,因为这样我没法在不修改类A的情况下对功能的动态添删。(我的目的就是在不修改类A的情况下,对类A进行功能扩展)
第三种:就是我要说的装饰者模...
分类:
其他好文 时间:
2014-05-11 21:26:18
阅读次数:
340
“重写”父类方法就是修改它的实现方式或者说在子类中对它进行重新编写。
子类继承父类的方法,在调用对象继承方法的时候,调用和执行的是父类的实现。但是,有时候需要对子类中的继承方法有不同的实现方式。
例如,假设动物存在“叫”的方法,从中继承有猫类和狗类两个子类。
重写父类的方法要用到override关键字(具有override关键字修饰的方法是对父类中同名方法的...
分类:
其他好文 时间:
2014-05-11 18:57:56
阅读次数:
291
实现 : Defferent Heros attack Defferently. - 不同的英雄使用不用的招数
Strategy设计的思路:
基类A,更加小的基类B,新的继承类C:
1 从基类A中抽出一个更加小的基类B
2 利用这个更加小的基类B实现不同的效果
3 把这个更加小的基类B包含进基类A中去
4 新的继承类C只需要和基类A打交道,设计不同行为,不需要理会更加小的基类B...
分类:
其他好文 时间:
2014-05-11 18:45:45
阅读次数:
297
C++语言的对象化模型.封装,隐藏内部实现.继承,复用现有代码.多态,改写对象行为本文描述了一个C++实现的继承和多态的场景,然后用C语言编写了一种对等的实现。//
A typical example of inheritance and virtual function use.// We wou...
分类:
编程语言 时间:
2014-05-11 18:03:47
阅读次数:
412
上节我们通过定位获取了经度和纬度数值,但是一般人很难看懂这些数字。地理信息反编码:就是根据这些经纬数字返回地点的相关文字描述信息,这些文字描述信息被封装在CLPlacemark类中,我们称这个类为“地标”类。地理信息反编码使用CLGeocoder类实现,这个类能够实现在地理坐标与地理文字描述信息之间...
分类:
移动开发 时间:
2014-05-11 16:38:11
阅读次数:
455
关于c++多态,个人认为就是父类调用子类的方法,c++多态的实现主要通过虚函数实现,如果类中含有虚函数,就会出现虚函数表,具体c++多态可以参考《深度探索c++对象模型》c语言模拟多态主要通过函数指针实现,可以参考《Object
Orientated Programming in ANSI-C》//...
分类:
编程语言 时间:
2014-05-11 16:25:23
阅读次数:
345