8面向对象编程:继承、接口与多态.ppt
《8面向对象编程:继承、接口与多态.ppt》由会员分享,可在线阅读,更多相关《8面向对象编程:继承、接口与多态.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、继承和多态是继承机制中十分重要的概念。继承是基于现有类创建一个新类的技术。其中,现有类称为基类或父类,创建的新类称为派生类或子类。派生类继承基类中所有的数据和操作,同时还可以添加需要的额外的数据和操作。通过继承,不仅可以重用基类的代码,还可以通过定义继承类的层次结构来反映业务实体之间的相互关系。在派生类中还可以重新定义基类中的成员,以及定义多个同名但功能不同的成员,这就是多态性。多态反映了继承的另外一个特性,即通过新类扩展现有类,在扩展时无需更改现有类的任何代码。利用多态性,可以根据未来的业务变化和需求,无缝扩展现有的类。本章将讲述类的继承、接口以及多态的相关知识。8.1 继承8.2 接口8.
2、3 多态性8.4 使用Me、MyBase和MyClass关键字8.5 可视化继承通过继承,可以直接基于系统中现有的类创建新类。现有的类称为基类,也可以称为父类、超类。新创建的类称为派生类,也可以称为子类。派生类继承了基类中的所有属性、方法、事件,并且可以对基类进行扩展。VB.NET中使用Inherits语句来创建派生类,该语句使得当前类继承指定类的所有非私有成员,其基本语法格式如下。Class 派生类名Inherits 基类名类成员End ClassStep1:新建一个Windows Form应用程序工程,命名为“ProfessorClass”。Step2:单击菜单栏中的【项目】【添加类】命令
3、,建立一个名为Teacher的类,作为基类。下面代码创建了基类Teacher。1 Public Class Teacher2 Private teaName As String3 Private teaBirthDate As Date4 Private teaNative As String5 6 Public Property Name( ) As String7 Get8 Return teaName9 End Get10 Set(ByVal value As String)11 teaName = value12 End Set13 End Property14 15 Public P
4、roperty BirthDate( ) As Date16 Get17 Return teaBirthDate18 End Get19 Set(ByVal value As Date)20 teaBirthDate = value21 End Set22 End Property23 24 Public Property Native( ) As String25 Get26 Return teaNative27 End Get28 Set(ByVal value As String)29 teaNative = value30 End Set31 End Property32 End Cl
5、assStep3:创建Teacher类的派生类Professor。可以单击菜单栏中的【项目】【添加类】命令来添加一个类,也可以将该类与Teacher类放在同一个文件中。1 Class Professor2 Inherits Teacher3 Private proDate As Date4 Private proSalary As Double5 6 Public Property EngageDate( ) As Date7 Get8 Return proDate9 End Get10 Set(ByVal value As Date)11 proDate = value12 End Set1
6、3 End Property14 15 Public Property Salary( ) As Double16 Get17 Return proSalary18 End Get19 Set(ByVal value As Double)20 proSalary = value21 End Set22 End Property23 End ClassVB.NET还提供NotInheritable和MustInherite修饰符对继承进行控制。 NotInheritable修饰符表示该类不允许被继承,即指定该类不能作为基类。不能被继承的类有时也称为密封类 MustInherite修饰符表示该类必
7、须被继承,即必须作为基类而不能用于创建实例,必须作为基类的类有时也被称为抽象类。接口与类很相似,也定义了一系列属性、方法和事件。但与类不同的是,接口并不提供实现。它们由类来实现,并从类中被定义为单独的实体。接口在面向对象设计中发挥着非常重要的作用,我们可以使用接口来表示一种约定,实现接口的类必须严格按其定义来实现接口的每个方面。在应用程序要求很多可能不相关的对象类型以提供某种功能的情况下,接口的适用性更强。接口比类更灵活,因为可以定义单个实现来实现多个接口。在无需从基类继承实现的情况下,接口更好。在无法使用类继承的情况下接口是很有用的。例如,结构无法从类继承,但它们可以实现接口。VB.NET允
8、许使用Interface语句来定义接口,其基本语法格式如下。修饰符Interface接口名 Property成员名 Function成员名 Sub成员名 Event成员名 Interface成员名 Class成员名 Structure成员名End Interface下面的代码定义了一个接口IConnectable。 1 Interface IConnectable 2 Function Connect( )As Boolean 3 Sub Disconnect( ) 4 End Interface接口可以继承其他接口,因此可以使用接口来定义层次结构表示实体之间的相互关系。下面的代码定义了ITi
9、medConnectable接口,通过引入连接超时的概念扩展了IConnectable接口。 1 Interface ITimedConnectable 2 Inherits IConnectable 3 Sub TimeOut(ByVal millisecs As Long) 4 End Interface类和结构都可以用于实现接口,甚至还可以实现多个接口。使用Implements语句实现接口的类或结构的语法格式如下。Class(或Structure)类名(或结构名) Implements 接口1Implements 接口n 具体实现代码End Class(或End Structure)在类
10、或者结构内部实现接口中的成员时也需要使用Implements语句,指明要实现的接口成员。接口成员的规范由接口名称(必须在类或结构名称后的implements语句中指定)、点号和要实现的成员函数、属性或事件的名称组成。下面代码显示了如何声明一个名为Sub1的用于实现接口方法的子例程。 1 Class Class1 2 Implements interfaceclass.interface2 3 4 Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1 5 End Sub 6 End Class多态就是对象随着
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 编程 继承 接口
限制150内