多态
多态意味着许多类可以提供同样的属性或者方法,而且调用者在调用这些属性或方法之前,不必知道某个对象属于什么类。
例如,Flea 类跟 Tyrannosaur 类可能都有 Bite 方法。多态意味着可以调用 Bite 方法,而不必知道某个对象是 Flea 还是个 Tyrannosaur —尽管以后当然会搞清这一点的。
下面的主题是围绕着 Visual Basic 实现多态的途径,以及怎样在程序中使用它而展开的。
- Visual Basic 是如何提供多态的 大多数面向对象的语言,都是通过继承来提供多态的;而 Visual Basic 则是用部件对象模型 (COM) 的多接口方法。
- 创建和实现接口 用一个扩展的代码示例,显示了怎样为 Tyrannosaur 和 Flea 类来创建抽象的 Animal 接口,并实现它。
- 实现属性 所实现的接口,除了具有方法以外,也具有属性,尽管在实现属性的途径方面有一些差异。
- 关于对象和接口的简要补充讨论 把术语对象和接口搞清,为接口引入了查询的概念,并对其它接口源的实现作了描述。
- 代码重用的许多(内部)方面 除了实现抽象的接口外,也可以通过实现一个普通类的接口来重用代码,然后选择性地委派类的一个隐藏实例为代表。
详细信息 对于 Visual Basic 的专业版和企业版,多态已经变成了发展软件部件系统的一种强大的机制。这在《部件工具指南》中“创建 ActiveX 部件”中的“部件设计的一般准则”中作了讨论。