如果一个类A实现了这个接口B,但是接口B中某个"功能"C 是A根本不可能有的,因为A实现了接口B,所以必须实现B中的所有"功能",那么这个C也要被A实现,显然这个C是A根本不可能有的.就造成了接口污染,接口污染是指把接口做的过于胖,派生类必须实现某些它用不到的功能,这样不仅加大了接口间的耦合,而且带...
分类:
其他好文 时间:
2014-09-27 08:29:09
阅读次数:
240
描述:override保留字表示当前函数重写了基类的虚函数。目的:1.在函数比较多的情况下可以提示读者某个函数重写了基类虚函数(表示这个虚函数是从基类继承,不是派生类自己定义的);2.强制编译器检查某个函数是否重写基类虚函数,如果没有则报错。用法:在类的成员函数参数列表后面添加该关键字既可。例子:c...
分类:
编程语言 时间:
2014-09-27 08:00:39
阅读次数:
221
解读C的声明的最好方法是用英语来阅读,道理很简单,因为C语言是美国人发明的。为了把问题变得更简单,在这里暂不考虑const和volatile。接下来遵循以下步骤来解释C的声明。首先着眼于标识符(变量名或者函数名)。从距离标识符最近的地方开始,依照优先顺序解释派生类型(指针、数组、和函数)。优先...
分类:
其他好文 时间:
2014-09-26 23:04:38
阅读次数:
294
C++中的虚函数 先来看一下实际的场景,就很容易明白为什么要引入虚函数的概念。假设我们有一个基类Base,Base中有一个方法eat;有一个派生类Derived从基类继承来,并且覆盖(Override)了基类的eat;继承表明ISA(“是一个”)的关系,现在我们有一个基类的指针(引用)绑定到派生类....
分类:
编程语言 时间:
2014-09-26 21:24:48
阅读次数:
368
可视化对象 Visual类:如果希望构建用于绘制矢量图形的程序,可计划创建包含数千个形状并可以分别操作这些形状的画布,使用WPF的元素系统和形状类不能满足要求,而是要使用更经量级的低级的Visual类手动执行渲染。因为Visual类是抽象类,不能创建该类的实例,所以需要使用Visual类的派生类。最...
分类:
其他好文 时间:
2014-09-26 20:08:58
阅读次数:
221
定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funtion1()=0在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生...
分类:
其他好文 时间:
2014-09-26 11:52:48
阅读次数:
134
使用new操作符来创建对象,其背后到底发生了什么? 有一个父类Animal,Dog派生于Animal。 class Program { static void Main(string[] args) { Dog dog = new Dog(); Console.WriteLine("我能调用老祖宗O...
分类:
其他好文 时间:
2014-09-26 10:52:48
阅读次数:
245
封装在C++中就表现为把一个具体的事物封装成类封装可以隐藏细节,让代码模块化。一个类的成员有三种访问权限:公有:所有人均可访问保护:只有本类和本类的派生类中的成员函数可以访问私有:只有本类的成员函数可以访问继承可以分为单一继承和多重继承继承方式:public private protected,cl...
分类:
编程语言 时间:
2014-09-25 23:28:27
阅读次数:
379
公用表表达式CTE表面上和派生表非常相似,看起来只是语义上的区别。但和派生表比较起来,CTE具有几个优势:第一,如果须要在一个CTE中引用另一个CTE,不需要像派生表那样嵌套,相反,只要简单地在同一个WITH子句中定义多个CTE,并用逗号把它们分隔开。每个CTE可以引用在它前面定义的所有CTE。.....
分类:
其他好文 时间:
2014-09-25 21:17:57
阅读次数:
190
从这一篇开始要介绍表表达式了,什么是表表达式呢?表表达式是一种命名的查询表达式,代表一个有效的关系表。可以像其它表一样,在数据处理语句中使用表表达式。SQL Server支持四种类型的表表达式:派生表,公用表表达式,视图和内联表值函数。 派生表(也称为表子查询)是在外部查询的FROM子句中定义...
分类:
其他好文 时间:
2014-09-25 19:20:27
阅读次数:
174