继承是指一个新类以一个现有类为基础,继承现有类的接口和功能。
可以以这样的方式来考虑继承,在创建一个继承自Person类的Employee类时,就是将这两个类有效地合并到一起。如果创建一个基于Employee类的对象,它不仅获得Employee类中的接口(属性、方法和事件)和实现代码,也会自动获得Person类的接口和实现代码。
从外部来看,和Employee对象交互的客户端代码将看到一个独立的、体现了Employee类和Person类合并的对象。
从内部来看,Employee类中的代码和Person类中的代码没有完全混合在一起。私有变量和方法只能在编写它们的类中使用。一个类中的公共变量和方法可以从其他类中调用。声明为Friend的变量和方法只能由同一个Visual Basic项目的类使用。还有一个与继承相关的Protected作用域,它提供了一个类与另一个类中的变量和方法进行交互的受控方式。
Visual Studio 2010提供了Class Designer工具,可用于方便地创建类图和处理类之问的关系。Class Designer使用标准的统一建模语言(UML)来描述类、对象以及其他面向对象概念之问的关系。Person类、Employee类和customer类之间的关系如图:
继承关系也称为"is-a"关系。当创建一个继承于Person类的Customer类时,Customer是一个Person。Employee也是一个Person,因而拥有这种“is-a”关系。多接口能够用于实现某种和"is-a”相似的关系——“act-as”关系。
使用继承创建的类,从现有的类中继承了行为和数据。这个现有的类称为基类,也称作超类或父类。
使用继承创建的类是以父类为基础的,称为子类,有时也称为派生类。事实上,子类继承基类的过程常常称为派生。从基类中派生一个新类,这个过程也称为子类化。
1.创建基类
Public Class Person
Public Property Name As String
Public Property BirthDate As Date
End Class
2.创建子类
Public Class Employee
Inherits Person
Public Property HireDate As Date
Public Property Salary As Date
End Class
当使用Inherits关键字继承当前项目外部的类时,需要指定包含该类的名称空间,或者在类的顶端用一条Imports语句来导入要使用的名称空间。
客户端测试