- 博客(5)
- 资源 (25)
- 收藏
- 关注
转载 虚函数与虚继承寻踪
封装、继承、多态是面向对象语言的三大特性,熟悉C++的人对此应该不会有太多异议。C语言提供的struct,顶多算得上对数据的简单封装,而C++的引入把struct“升级”为class,使得面向对象的概念更加强大。继承机制解决了对象复用的问题,然而多重继承又会产生成员冲突的问题,虚继承在我看来更像是一种“不得已”的解决方案。多态让对象具有了运行时特性,并且它是软件设计复用的本质,虚函数的出现为多态性
2014-09-19 14:33:00 367
转载 Bridge模式(桥接模式 )
6.1 概述 Bridage模式就是把抽象部分和它的实现部分分离开来,让两者可独立变化。这里的抽象部分指的是一个概念层次上的东西,它的实现部分指的是实现这个东西的(功能)部分,分离就把实现部分从它要实现的抽象部分独立出来,自我封装成对象。 6.2 设计 思路简单理解就是:在类中抽离方法形成另一个类。比如对于动物狗,有行走功能。一般我们设计时,把狗设计成一个类,
2014-09-18 21:49:05 1406
转载 Builder模式(创建者模式)
1.概念 《设计模式》一书中对于建造者模式是这样定义的:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。其实建造者模式就是用来创建复合对象,并把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。有点拗口,首先我们来看看它的UML图: Builder:为创建一个Product对象的各个部件制定抽象接口。 Conc
2014-09-18 21:17:56 380
转载 Prototype模式(原型模式)
Prototype模式(原型模式)的基本原理是我们想利用已有的对象,复制大量同类的对象。在C++中,利用拷贝构造函数是实现复制对象的最好方法。 Prototype模式的实现方法是在基类中定义一个Clone的虚函数,然后在派生类中改写该虚函数,并在派生类的Clone函数中调用该类的拷贝构造函数,每调用一次,就生成了一个拷贝的对象。 实例代码: //基类 class CShape
2014-09-18 19:36:19 493
转载 Factory模式(工厂模式)
1. 场景 假设有如下的场景: 卖pizza的, 可以有很多种pizza(CheesePizza, GreekPizza, PepperoniPizza),我们该如何处理它呢,当然我们可以声明一个类,类中创建每一个种类的pizza。但是这样有什么问题吗?我们没有把需要改变的部分剥离出来。软件设计的一个原则就是“是易于扩充而不是修改”,另一个是“对接口编程而不是对实现编程
2014-09-18 19:33:51 496
计算几何算法
2015-01-18
计算几何算法大全
2015-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人