base Class

工作流(Workflow):就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。

工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。


数据类型分隔为值类型和引用类型。值类型要么是堆栈分配的,要么是在结构中以内联方式分配的。引用类型是堆分配的。引用类型和值类型都是从最终的基类 Object 派生出来的。当值类型需要充当对象时,就在堆上分配一个包装(该包装能使值类型看上去像引用对象一样),并且将该值类型的值复制给它。

C#里数据类型分两种,值和引用,值类型包括常见的int,bool,byte,……,引用类型包括string,class。
值类型的数据是放在内存上的“栈”上的,引用类型是放在“堆”上的,放在栈上的数据在使用时是创建一个副本,对副本进行操作。而引用类型是把“堆”上的数据在“栈”上的地址传过去,对地址所指的“堆”进行操作,所以是在原本上进行修改。
值参数:修改的值得影响范围是方法体内,出了方法体,值还是原来的,因为值参数操作的是副
 
 
一.接口的定义

定义:定义一个协定。实现接口的类或结构必须遵守其协定。

简单的说就是接口或者类之间交互时遵守的一个显示定义。最初接触“类与类之间通过接口交互”这个概念时,误以为接口就是类公开的方法,类之间通过类的方法进行交互。其实接口是独立于类的一个定义。接口定义类之间交互的标准。

那么类与类之间直接交互就好了,为什么还要使用接口呢?

这主要是因为:接口是类之间交互内容的一个抽象,把类之间需要交互的内容抽象出来定义成接口,可以更好的控制类之间的逻辑交互。可见接口内容的抽象好坏关系到整个程序的逻辑质量;另外可以在任何时候通过开发附加接口和实现来添加新的功能;

关于接口一个很重要的概念:接口只包含成员定义,不包含成员的实现,成员的实现需要在继承的类或者结构中实现。

接口的成员包括:方法,特性,索引器,事件。

注意:接口不包含字段。

实现接口的类必须严格按其定义来实现接口的每个方面

      接口本身一旦被发布就不能再更改,对已发布的接口进行更改会破坏现有的代码。

一个典型的接口示例:         

 二.接口与抽象类

   抽象类和接口在定义上和功能上有很多相似的地方,具体在程序中使用抽象类还是接口需要比较抽象类和接口的具体差别。

抽象类:一种不能实例化而必须从中继承的类,抽象类可以提供实现,也可以不提供实现

        子类只能从一个抽象类继承

       抽象类应主要用于关系密切的对象

       如果要设计大的功能单元,则使用抽象类。

       如果预计要创建组件的多个版本,则创建抽象类

 

接口:是完全抽象的成员集合,不提供认识实现。

类或者结构可以继承几个接口。

接口最适合为不相关的类提供通用功能

如果要设计小而简练的功能块,则使用接口

接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口

三.接口的的实现

   接口的实现分为:隐式实现和显式实现。如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显示实现。显示实现是通过使用接口的完全限定名来实现接口成员的。

针对上面的例子 我们可以这样实现接口:

 

四.接口中的多态

 多个类继承了相同的接口就实现了接口的多态性,接口的多态性的访问和类的多态性访问一样。下面的例子说明怎么实现接口的多态性访问:


虚函数:可以被override的函数。  
  抽象类:不能被实例化的类。  
  接口:只有函数定义,没有函数实现,只能被继承,不能被实例化的类。

 

如果一个基类方法要在派生类中被覆盖,就必须把这个基类方法申明为virtual  
   
   
  抽象方法和虚拟方法的区别在于:虚拟方法有一个实现部分,并为派生类提供了覆盖该方法的选项;相反,  
   
  抽象方法没有提供实现部分,强制派生类覆盖方法(否则派生类不能成为具体类)

 深入宠物店PetShop-SQLServerDAL数据访问与Sample-Duwamish比较 ...

 

posted on 2007-04-29 15:13  KenL  阅读(288)  评论(0)    收藏  举报

导航