摘自《Java与模式》作者阎宏面向对象的可复用设计的第一块基石:开闭原则(一个软件实体应当对扩展开放,对修改关闭)“开-闭”原则的手段和工具:1)里氏代换原则:任何基类出现的地方,子类一定可以出现;2)依赖倒转原则:要依赖于抽象,不要依赖于实现;3)合成\聚合复用原则:要尽量使用合成\聚合,而不是继...
分类:
其他好文 时间:
2014-05-12 11:24:27
阅读次数:
306
关于线图(Line Chart)如何画,我以前写过很详细的说明,只是在这附一下,现在的基类是怎么弄的。
基类把有关线图的所有相关元素都能开发出来变成可控制的,而隐藏了具体的位置计算,图形绘制计算等待过程,只须传入数据源,
加上自己想要的控制即可得到一个还不错的图表。
附上代码:
//线图基类
chart = new LineChart();
//图所占范...
分类:
其他好文 时间:
2014-05-12 06:33:13
阅读次数:
316
5.流程或诊断信息输出,错误以及异常处理
在使用PowerShell的过程中,如果cmdlet执行有输出结果,我们会在PS界面看到结果输出信息。如果cmdlet执行出现异常,那我们就会看到异常信息。接着我们就开始学习这些输出信息的实现。
Cmdlet基类给我们提供了几种输出方法:Write...
分类:
其他好文 时间:
2014-05-12 01:15:15
阅读次数:
321
问题:
包含一个以上虚函数的 class B, 它所定义的 对象是否共用一个虚函数表?
分析: 由于含有虚函数,因此对象内存包含了一个指向虚函数表的指针,但是这个指针指向的是同一个虚函数表吗?
实验如下:
{CSDN:CODE:338780}
结论:
结果表面,同一个类的所有对象,都共享同一个虚函数表。
派生问题:
派生类 和 基类是否共享同一个虚函...
分类:
编程语言 时间:
2014-05-11 22:35:00
阅读次数:
387
面向对象编程--定义基类和派生类[续]四、virtual与其他成员函数 C++中的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件: 1)只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定。 2)必须通过基类类型的引用或指针进行函数调用。1、从派生类到基类的转换 因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分...
分类:
编程语言 时间:
2014-05-11 19:58:04
阅读次数:
431
面积图的一个例子,做面积图时发现注释位置放图上方更好处理。改了下。 面积图的网格和轴处理与其它图不一样,
它是用覆盖的范围来表示其势力范围,标签轴无需在突出一段出来。这里处理了下。
代码:
//图基类
chart = new AreaChart();
//图所占范围大小
chart.setChartRange(0, 0, this.mScrWidth ,...
分类:
其他好文 时间:
2014-05-11 19:47:46
阅读次数:
359
实现 : 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同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢?
1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。
2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断)
3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。...
分类:
其他好文 时间:
2014-05-11 15:10:19
阅读次数:
309
曲线图与通常的折线图不同的地方是它的线条位置计算有点特别,所以我独立弄了一个类.同样,只需传入数据源给基类,
再加上,你想加的控制,可自动依设置绘出你想要的效果。
代码:
//图基类
chart = new CurveChart();
//图所占范围大小
chart.setChartRange(0, 0, this.mScrWidth ,...
分类:
其他好文 时间:
2014-05-11 07:21:43
阅读次数:
316
另一个横向的曲线图(CurveChart)
效果:
代码:
//图基类
chart = new CurveChart();
//图所占范围大小
chart.setChartRange(0, 0, this.mScrWidth , this.mScrHeight );
//标签轴标签集合
LinkedList labl...
分类:
其他好文 时间:
2014-05-11 05:05:57
阅读次数:
380