设计模式是为程序代码优化而诞生的,目的是设计出易维护、容易拓展、易复用、灵活性好的程序。设计模式体现是面向对象的三大思想:封装、继承和多态。设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计...
分类:
其他好文 时间:
2014-06-07 01:29:07
阅读次数:
257
1.在一般情况下,指向一种类型对象的指针不允许指向另一种类型的对象,然而指向基类对象的指针可以指向该基类的共有派生类对象(反过来不成立),这是运行时,多态的基础。指向基类队象的指针指向派生类对象后,可以访问派生类中有基类继承下来的成员,但不能访问那些派生类对象自己增加的成员。
2.一个含有虚函数的类称为多态类。
3.虚函数就是在一个类中用virtual定义的成员函数。基类的虚函数在派生类中仍是...
分类:
编程语言 时间:
2014-06-07 01:27:01
阅读次数:
236
关于OOP
博客地址:http://blog.csdn.net/cv_ronny 转载请注明出处!
1,继承可以是单一继承或多重继承,每一个继承连接可以是public、protected或private,也可以是virtual或non-virtual。
2,成员函数的各个选项:virtual或non-virtual或pure-virtual。
3,成员函数和其他语言特性的交互影响:...
分类:
编程语言 时间:
2014-06-05 08:38:28
阅读次数:
421
问题的引出:
实例:从简单的模拟鸭子的应用说起,让我们来抽象一个鸭子超类。并让各种鸭子继承此超类。
具体如下图:
显然这还看不出问题,但如果现在需求改变了(程序员最讨厌就是这个了),好,现在老大说要让所有的鸭子都能飞。恩,机智的你在超类上面加上这个方法就搞定了,但现在问题来了,如果我们有一只橡胶鸭继承了这个超类,它也能飞!!这显然不科学啊。而且它也不是呱呱叫的,是吱吱叫的...
分类:
其他好文 时间:
2014-06-05 07:54:11
阅读次数:
320
二者区别,简而言之,在于StringBuffer内部实现了线程同步,而StringBuilder没有。
二者均继承自AbstractStringBuilder。
JDK源码中可以看得更清楚些。
=============================
从源码中可以看出,子类AbstractStringBuilder已经实现了所有的操作,String...
分类:
其他好文 时间:
2014-06-05 06:47:58
阅读次数:
220
vb.NET语言的学习,相对于原来的增加了.net平台,也 是基于对vb学习的继承与扩展,是在面向对象基础上的编程语言,vb中学到的控制语句,基本的数据类型,对象的事件,方法,属性等继续应用于vb.net。但是要注意vb.NET强制要求显示转换,例外处理等安全方面与vb的不同之处。...
分类:
Web程序 时间:
2014-06-05 06:29:33
阅读次数:
290
1 设计一个基类
2 继承这个基类,并包含这个基类的一个对象
3 创建继承类的时候,初始化这个基类,因为是基类指针,所以可以是所有基类的衍生类对象,那么就可以叠加任意多个衍生类对象了。
关键是在衍生类中包含一个基类对象,然后有了继承和包含两重关系,可以使得一个类一个类对象叠加,达到装饰目的。
等于是创建了一个对象指针链表,一个一个对象发挥其相应的作用。
下面程序装饰一个桌...
分类:
其他好文 时间:
2014-06-05 06:15:17
阅读次数:
278
一、我们首先看一个例子,一个孙子类继承了两个父亲类,两个父亲类同时继承同一个爷爷类。
#include
using namespace std;
class Parent
{
public:
int p_; // p将会被所有的子类继承,也将是二义性的根源
Parent(int p)...
分类:
编程语言 时间:
2014-06-05 06:00:45
阅读次数:
217
组合 、委托
基本常识:策略模式和状态模式是双胞胎,在出生时才分开。
一般来说,我们把策略模式想成是除了继承之外的一种弹性替代方案。
什么时候用接口? or 抽象类?
当实现接口的类中,重复代码太多时,可考虑继承 。
OO模式:
状态模式--允许对象在内部状态改变时改变它的作为,对象看起来好像修改了它的类
如: 因为一个状态对应一个类, 每个类中的方法名相同,但实现不同...
分类:
其他好文 时间:
2014-06-05 03:52:54
阅读次数:
209
这篇来谈论一下Linq第三个方面的应用:Linq to Object,只要是继承了IEnumerable或IQueryable接口的Object都能使用Linq特性进行操作。在操作过程当中可能很多人都觉得不好调试不能实时地观察结果数据集,想把IQuery的Linq查询语句转换成数据表DataTable,要怎么实现转换呢?来看一下。
先来说一场景解释一下为什么需要用Linq来解决一些问题,...
分类:
其他好文 时间:
2014-06-04 23:46:35
阅读次数:
477