简单讲述VB.NET多重继承

开发 后端
这里介绍如果VB.NET多重继承得到了支持,那么USPresident就会同时继承自Employee和USCitizen。但是在.NET的语言里,你必须运用接口来表示多重IS A关系。

VB.NET有很多值得学习的地方,这里我们主要介绍VB.NET多重继承,包括介绍USPresident能够衍生自多个基类等方面。

VB.NET多重继承

我注意到了一个情况,那就是C#允许多重继承(multiple inheritance),但是在VB.NET里我只能使用深层继承(deep inheritance)。在VB.NET里能够使用多重继承吗?或者说VB.NET的程序员就只能如此了?

在提出这个问题的时候,我可能已经在考虑C++了。C++能够支持多重继承,但是C#和VB.NET都不支持。它们走了和Java相同的路线,也就是说它们只允许来自单基类(single base class)的继承。继承关系表示两个类之间的IS A关系。如果考虑到一个类有可能通过多IS A 关系被分类,那么缺少多重继承就成为了这种可能性的一个因素。让我们以Employee、USPresident和USCitizen这三个类为例子,它们之间的关系是:USPresident IS A Employee、USPresident IS A USCitizen

在C++里,USPresident能够衍生自多个基类;而在.NET的语言里,它就不能这样。

如果VB.NET多重继承得到了支持,那么USPresident就会同时继承自Employee和USCitizen。但是在.NET的语言里,你必须运用接口来表示多重IS A关系。就和Java一样,一个类能够继承自一个基类,而一个类也能够实现多个接口。

根据.NET框架的文档(C#语言规范),接口(interface)这个关键字会声明参考类型拥有抽象成员。在本文里,成员(members)这个术语表示一个方法、属性,或者索引符;而抽象(abstract)这个术语表示没有提供实现。在创建接口的时候,习惯的(命名)方法是在接口名称之前加上字母 I。尽管你可以忽略这个习惯,但是你会发现遵守这个习惯会让区别基类和接口变得尤其简单。在Java里,开发人员习惯在接口(名称)的后面加上able。从个人的角度来看,我喜欢把这些技巧用在我自己的接口上。用来描述类和接口之间关系的术语有:我们用“x继承自y类”来表示继承;用“x实现y接口”来表示接口的关系。冒号(:)是用于实现接口的操作符。

继承代码有下列形式:

VB.NET

  1. Class Derived Inherits Base 

C#.NET

  1. Class Derived: Base 

【编辑推荐】

  1. 讨论VB.NET简单数据类型
  2. 概括VB.NET获取网卡地址的步骤
  3. VB.NET字符串数组全面分析
  4. 浅谈VB.NET使用FileVersionInfo类
  5. 详谈VB自定义类型参数的传递
责任编辑:佚名 来源: cnbeta
相关推荐

2009-10-16 13:26:53

VB.NET Exce

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET读取INI

2009-10-21 18:28:48

VB.NET表间拖放

2009-10-21 10:45:50

VB.NET Quic

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-23 13:22:25

VB.NET实现拖动图

2009-10-14 11:15:06

VB.NET Grou

2009-10-10 16:44:52

VB.NET开发控件

2009-10-13 17:03:55

VB.NET面向对象

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-11-02 15:45:03

VB.NET IEnu

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-29 09:57:16

VB.NET实现数据绑

2009-10-22 09:20:46

VB.NET Proc

2009-10-26 18:11:47

VB.NET调用Exc

2009-10-26 19:22:29

VB.NET使用Log

2009-10-27 11:39:03

VB.NET事件处理程

2010-01-21 16:45:00

VB.NET继承规则

2009-11-03 17:31:01

VB.NET窗体
点赞
收藏

51CTO技术栈公众号