浅析概括VB.NET抽象类

开发 后端
这里介绍了VB.NET抽象类,其实就是从抽象类派生出来的子类同样能够执行一个或多个接口,这要依你的项目而定,你可以只用一个抽象类或多个接口。

编程的人都喜欢用接口,因为它可以实现若耦合,让我们的一个项目的各个模块更独立,下面我们就简单的分析一下关于VB.NET抽象类与接口方面的知识吧。抽象类的定义与非抽象类的定义没什么两样. 抽象类包含了从其它类承继而来的属性及方法等等.但是,在抽象类中定义的类成员(属性及方法)是如何与衍生类中的定义元素产生联系的呢?在此并没有复杂的规则,但你作出的决定是与你所拥有的类的性能及它将衍生出来的 类所密切相关。

#T#如果你熟悉接口的相关知识,你会认为抽象类与它是如此相似。事实上只是一部份类似。定义仅含有抽象成员的抽象类基本上是与接口的定义相同的,因为你已经规定衍生类必须执行某个具有专用符号的成员。另外,抽象类具有其它的功能,是接口无法实现的,--尤其是在定义非抽象类成员的基本功能薄?BR>
当你在认为抽象类或是接口都能如常运作时,请谨记如下几点:

除了从一个类(抽象或非抽象) 派生出来,一个衍生类可以执行多个接口。

从抽象类派生出来的子类同样能够执行一个或多个接口,这要依你的项目而定,你可以只用一个抽象类或多个接口,或者抽象类和接口混合使用。VB和.NET 在这项工作上提供了非常大的灵活性.因此你可以通过不同的方式来达到你想要的结果.底线是一些项目必须是通过抽象类来实现.VB.NET抽象类也许会被认为是一种非常专业的编程方法.它可帮程序员减少工作量并且可以生成更简便功能更强大的程序.

实际操作中使用VB.NET抽象类
设想一下你正在为一家大公司开发一个新的员工数据库.你的工作就是监督类的执行,使雇员的基本情况与管理部门的要求相吻合,同样, 在区分公司分支机构的要求时也提供更大的便利.

基本要求如下:
抽象类里有姓名,雇用时间等属性,这些属性不会被重载.

因为大多数雇员来自美国,因此在抽象类里执行退休ID,以运行社会保障号码.国外分公司将会利用不同的方式来鉴别雇员的退休ID,因此该属性会在衍生类里重载,以便单个分支机构分别执行.

名称为补偿金的方法不会引起争议,然后会返回一个含有雇员补偿金细节的类型对象.因为不同分公司都规定不同的补偿金,薪金,佣金,红利等,因此灵活的执行这些对象是很有必要的,由此会产生一个抽象方法.
由此而产生的抽象类的代码,称为EmployeeBase,会在第一栏里显示。

位于法国的分公司的程序员用EmployeeBase类作为EmployeeFrance类的基类,与当地雇员记录软件合作使用。因此,衍生类需要承继名称及雇用日期等字段。更多的是,在EmployeeBase 类中的RetirementID成份适合运用在法国,因此,新类不会重载该成份。程序员做的所有这些工作是为了执行abstract Compensation member 的重载。

但是在英国, RetirementID 属性不适用于该地,因此衍生类将会重载该成员,同样的也会重载Compensation 成员。

责任编辑:田树 来源: 博客
相关推荐

2009-11-03 10:00:20

VB.NET New方

2010-01-14 18:08:08

VB.NET抽象类

2009-10-13 14:50:59

VB.NET Envi

2009-11-02 17:32:37

VB.NET抽象类

2009-10-23 14:06:07

VB.NET类对象

2009-10-15 17:50:48

VB.NET Spli

2009-10-14 10:19:57

VB.NET Doma

2009-10-26 15:57:07

VB.NET使用Ora

2009-10-14 14:04:29

VB.NET创建Web

2009-10-27 11:32:42

VB.NET Disp

2009-10-14 16:46:25

VB.NET OnSt

2009-11-03 10:51:33

VB.NET共享

2009-10-21 10:05:30

VB.NET运行环境

2009-10-14 15:34:29

VB.NET窗体编程模

2009-10-14 13:15:09

VB.NET数据绑定

2009-10-28 10:51:32

VB.NET默认属性

2009-11-03 09:26:13

VB.NET方法

2009-10-15 17:41:14

VB.NET Impo

2009-11-03 13:48:02

VB.NET枚举

2009-10-29 16:23:42

VB.NET实现IEn
点赞
收藏

51CTO技术栈公众号