vb中的封装,继承,多态的实现。

本文介绍了VB中的面向对象编程机制,包括封装、继承和多态的实现方式,并通过实例解释了多态的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    VB中引入了面向对象的编程机制,使该语言具有面向对象语言的封装、继承和多态三个主要的特征,极大地提高了应用程序的开发效率。但是大多数面向对象的设计语言都通过继承来提供多态的,而vb是通过多从ActiveX接口来提供多态的。

    在上一篇文章中我简单的描述了vb中的类与对象,类。下面我谈一下vb中封装,继承,多态的实现

    1. 封装

    从表面意思上看就是将某些东西给打包封起来,vb中的封装与这个意思大致相同,只不过vb中封装的不是具体的事物,而是一些方法和事件。在上一篇文章中,我提到在vb中怎么定义类,怎么产生类,其中一种方法是直接生成一个类模块,第二种方法是用类的生成器,两种方法都是将自定义的一些方法和事件封装到一种类中,其实产生类并定义方法和事件的过程就是封装。

   2.继承

   vb中的继承是通过两种方法来实现的,第一种是复制父类中的源代码到子类中去,叫Flatten方法。第二种是以对对象作为成员。在第二种方法中 用对象作为成员  首先将对象要实例化初始化,在使用结束的时候还要讲对象释放掉。

   3.多态

   多态从表面意思上说是事物的不同中状态,在vb中的具体含义是:不同的对象接受到相同的消息产生不同的结果。举一个例子来说明一下,在一个公司中,老板说一句:大家开始工作吧!这时候所有的公司员工就会回到自己的岗位上,干着不同的工作。我用一张图来描述一下多态。

      




    在上图中多态的实现过程是通过定义接口类和实现类来完成的,接口的含义是对事物功能的描述,实现类是对事物功能的具体实现。比如说,电脑具有播放音乐的功能,而到真正播放音乐时,是音箱来播放的。在这里电脑就是一个接口类,音箱就是一个实现类。

    多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物,与不同的具体事物进行对话。

    抽象——封装——继承——多态是面向对象程序设计中的四部曲,今后我们还要继续深入学习它们,争取让它们应用的我们设计的软件中去,体现我们全心全意的为人民服务的精神。


'------------------------------------------------------------------------------------------------------------------------------------------ '本示例旨在向您展示如何在VB6下实现真正的继承,如何使用DyCOMHelper创建类,并使用,它将带您进入VB6背后的COM世界,看看我们的类是如何运行的。 'DyCOMHelper创建的对象的特点: '1、可以像VB6下定义的对象一样去使用,虽然不是VB6机制创建,但是可以被VB6当作对象来识别使用。 '2、支持后期绑定,支持错误处理,支持多接口等常规应用。 '3、支持真正意义上的继承,本示例将说明这一点。 '4、所创建的对象是轻量对象,实例占用的起步空间更小,约VB类的1/5。 '5、函数调用速度高出20% 左右 '6、实例创建的速度,最大可以提高近10倍 '7、释放速度,最大可以提高近100倍。(以上速度来自于极限测试数据) '8、创建模式比VB6更丰富,VB6的类实例,是在堆上进行创建的,效率很低,DyComHelper可以选择堆、堆栈是进行创建,也可以从某个结构上创建,也可以用内置的定长管理器进行创建。 '9、从类实例外部,访问内部数据时,支持真正意义的指针式访问。 '10、使用DyCOMHelper创建类,将让您的系统支持成千上万个类,而不会担心效率问题。 ' '读这个示例您可能会问的问题: ' 1、类型库,怎么来的?目前是我使用工具手动创建。未来,我将推出VB6插件,在VB6下直接书写代码生成类型库并自动引用。 ' '使用前,请先执行下列顺序: ' 1、引用 Types目录下 DyCOMHelperType.tlb,TestInheritLib.tlb。 ' 2、按F8开始逐步断点执行,看看它是如何工作的。 '示例中,有三个类,Animal、Wolf、Demiwolf,分别是动物、狼、狼狗,狼狗继承自狼,狼继承自动物,动物派生自IDispatch。 '------------------------------------------------------------------------------------------------------------------------------------------
评论 52
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值