1 OOP概述
面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。
1.1 继承
继承是派生类与基类之间的关系,它们共享了一些公共的东西,而派生类特化了一些本质不同的东西。类与类之间的继承关系构成了继承层...
分类:
编程语言 时间:
2014-06-19 12:11:25
阅读次数:
318
虚函数:虚函数机制的实现是通过虚函数表和指向虚函数表的指针(存放在对象的空间中)来完成的。
1)空间方面:每个类只用一个虚函数表的拷贝,故其占用的空间不是很大。
2)时间方面:虚函数的调用开销包括两次整型加法和一次指针间接引用的开销。
其动态绑定的实现步骤如下:
(a)根据对象的虚指针VPtr找到该对象对应的虚函数表VTable,所需的开销仅是一次偏移量调整(整型加法)加上一次指针间接运算...
分类:
其他好文 时间:
2014-06-15 14:35:31
阅读次数:
251
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改...
分类:
编程语言 时间:
2014-06-15 11:47:11
阅读次数:
206
定义为 virtual的 函数是基类期待派生类(derived class)重定义的,
基类期待 派生类继承的函数不能定义为虚函数。动态绑定:程序能 使用继承层次中任意类型的对象,无需关心对象的具体类型。
使用这些类的程序无须区分函数在基类还是在继承类中定义的。尽管不是必须,派生类一般会重定义基类中...
分类:
其他好文 时间:
2014-06-12 23:23:06
阅读次数:
518
1
OOP概述面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。1.1
继承继承是派生类与基类之间的关系,它们共享了一些公...
分类:
编程语言 时间:
2014-06-12 21:36:20
阅读次数:
338
DataSet ds =
SYS_GroupTrafficStatistic_SERVICE.GetList(V_CID, V_STARTTIME, V_ENDTIME,
V_TIME_GRADE, V_SHOW_TIME_TYPE); sys_ui_g...
分类:
Web程序 时间:
2014-06-12 14:14:32
阅读次数:
258
Objective-C有相当多的动态特性,基本上也是最常用的有动态类型(Dynamic
typing)、动态绑定(Dynamic binding)和动态加载(Dynamic
loading),这些都是在Cocoa程序开发中非常常用的语言特性,在此之后OC底层也提供了相当丰富的运行时特性,比如枚举.....
分类:
其他好文 时间:
2014-06-07 10:18:18
阅读次数:
313
动态绑定方法一:动态绑定数据库中的字段。SqlConnection conn =
UtilitySqlClass.OperateDataBase.ReturnConn();string strSQL = "select * from
CompanyType";SqlDataAdapter ada =...
分类:
其他好文 时间:
2014-06-06 06:56:34
阅读次数:
302
在Sliverlight中,经常要用到下拉框Combox,然而Combox的数据绑定却是一件令初学者很头疼的事情。今天就来总结一下下拉框的使用方法:下面写一个简单的例子吧。先写一个日期的Model,代码如下:
public class Date { public string Da...
分类:
Web程序 时间:
2014-06-05 20:52:43
阅读次数:
311