Visual_Basic程序设计(第二版)-电子教案-柳青 第5章 面向对象的程序设计

上传人:E**** 文档编号:89404017 上传时间:2019-05-24 格式:PPT 页数:47 大小:372KB
返回 下载 相关 举报
Visual_Basic程序设计(第二版)-电子教案-柳青 第5章  面向对象的程序设计_第1页
第1页 / 共47页
Visual_Basic程序设计(第二版)-电子教案-柳青 第5章  面向对象的程序设计_第2页
第2页 / 共47页
Visual_Basic程序设计(第二版)-电子教案-柳青 第5章  面向对象的程序设计_第3页
第3页 / 共47页
Visual_Basic程序设计(第二版)-电子教案-柳青 第5章  面向对象的程序设计_第4页
第4页 / 共47页
Visual_Basic程序设计(第二版)-电子教案-柳青 第5章  面向对象的程序设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《Visual_Basic程序设计(第二版)-电子教案-柳青 第5章 面向对象的程序设计》由会员分享,可在线阅读,更多相关《Visual_Basic程序设计(第二版)-电子教案-柳青 第5章 面向对象的程序设计(47页珍藏版)》请在金锄头文库上搜索。

1、Visual Basic程序设计(第二版),主编 柳青 严健武 中国水利水电出版社,第5章 面向对象的程序设计,支持面向对象程序设计是Visual Basic的重要特征之一。面向对象程序设计方法通过构造并组合对象来实现应用程序。面向对象技术可以高效率地重复使用代码,从而简化了程序开发的过程。Visual Basic 6.0 不仅支持传统的结构化程序设计,还提供了强大的面向对象程序设计机制。 类和对象是Visual Basic面向对象程序设计机制中重要的概念,本章从类和对象的基本概念人手,介绍了类和接口的建立过程,以及类继承的实现和类的封装。本章还介绍了键盘、鼠标、打印机、屏幕和剪贴板等常见系统

2、对象的特点、用途和使用方法。通过学习,帮助读者掌握Visual Basic 6.0 的面向对象程序设计方法和开发技巧。,5.1 面向对象程序设计基础,1. 对象和类的概念 (1)对象(Object)。世界上万事万物都可以看成对象。只要是具体存在的事物,均可以看成对象。比如说一栋大楼,一部汽车,一只苹果,一份计划等。在面向对象系统中,对象是运行时的基本实体,是含有数据以及对其操作方法的模块。这里所讲的对象,是一种数据和程序的组合体。对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体,并通过消息与其他对象进行通信。系统中的数、字符串、队列、文件目录等都是对象。复杂的对象

3、由简单的对象组成。对象把属性和行为封装成一个整体。对程序设计者来而言,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。通常将对象内的操作称为方法。 传统的程序由过程和数据组成,而面向对象的程序只由含有过程和数据的对象组成。因此,在对象中既有一般语言中的数据(例如数、字符串、数组和记录等),也有对这些数据进行操作的函数、指令或子程序等。因此,对象是有着特殊属性(数据)与操作方法(过程)的实体。,(2)消息(Message)。对象有其自身的对外接口,对象所能接受的信息称为消息(message)。消息是对象之间进行通信的一种构造,是要求对象以某种方式进行操作的请求。当一个消息发送给某个对

4、象时,其中包含要求该对象执行某些操作的信息。接受消息的对象经过解释后予以响应,发送消息的对象不需要知道接收消息的对象对请求如何响应。这种通信机制称为消息传递。某个对象能对之作出反应的消息集合称为该对象的协议。 (3)类(Class)。类是对象的模板,对象是类的实例。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。在 Visual Basic 中,对象是由类创建的,因此,对象被说成是类的一个实例。 每一个对象可以抽象为一个对象类。一个类定义了一组大体上相似的对象,类将该组对象所具有的共同特点集中起来,说明该组对象的能力和性质。类是在对象基础上的

5、抽象,有了类之后,对象是类的具体化,是类的实例。类可以有子类,也可以有父类,形成层次结构。 通过设定类中每个对象将具有的属性和行为来提供对象的定义,该属性和行为列表称为类接口。例如,“学生”类中的对象必须有姓名、性别、专业、年级以及一个“学习”行为。若李民和张平能满足这些准则,则属于“学生”类。一个属于类的特定对象称为该类的一个实例。类的每个实例有已定义的一组属性的值,可以执行已定义的行为。,类本身没有属性值,也不能执行类行为。但类定义了属性并包含了从类创建的每个对象所使用的行为。这些对象将具有特定的属性值并执行行为。例如,Visual Baisc工具箱中的命令按钮代表CommandButto

6、n类。每次向窗体添加命令按钮时,即创建了CommandButton类的一个实例。CommandButton类有特定的已定义行为(如Move)和属性(如Name、Caption),但其本身没有这些属性的值,也不执行这些行为。作为CommandButton类的实例创建的命令按钮对象则有相应的属性值,并执行相应的行为。 一个类所包含的方法和数据描述一组对象的共同行为和属性。面向对象技术的核心,是把一组对象的共同特性加以抽象并将它们保存在一个类中的能力。 2. 面向对象主要特征 (1)封装性(encapsulation)。封装也称为信息隐藏,是一种信息隐蔽技术,体现于类的说明,是对象的重要特性。封装使

7、数据和加工该数据的方法(函数)封装为一个整体,隐藏了对象如何工作的细节,使用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。从而使得程序更加模块化,既方便使用者,更方便设计者对程序的维护和改进。,类本身没有属性值,也不能执行类行为。但类定义了属性并包含了从类创建的每个对象所使用的行为。这些对象将具有特定的属性值并执行行为。例如,Visual Baisc工具箱中的命令按钮代表CommandButton类。每次向窗体添加命令按钮时,即创建了CommandButton类的一个实例。CommandButton类

8、有特定的已定义行为(如Move)和属性(如Name、Caption),但其本身没有这些属性的值,也不执行这些行为。作为CommandButton类的实例创建的命令按钮对象则有相应的属性值,并执行相应的行为。 一个类所包含的方法和数据描述一组对象的共同行为和属性。面向对象技术的核心,是把一组对象的共同特性加以抽象并将它们保存在一个类中的能力。 2. 面向对象主要特征 (1)封装性(encapsulation)。封装也称为信息隐藏,是一种信息隐蔽技术,体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,隐藏了对象如何工作的细节,使用户只能见到对象的外特性(对象能接

9、受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。从而使得程序更加模块化,既方便使用者,更方便设计者对程序的维护和改进。,例如,当设置一个文本框的Text属性值时,用户并不知道(或关心)文本框内部是如何重绘这些字符的。信息隐藏允许对象的设计者改变对象的工作机制而不影响对象的用户。 封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。 封装使对象同时包含其代码和数据,这比传统的编写代码方法更容易维护。在确定系统的某一部分内容时,应考虑到其它部分的信息及联系都在这一部分的内部进行

10、,外部各部分之间的信息联系应尽可能的少。 (2)继承性(inheritance)。继承性是父类和子类之间共享数据和方法的机制,由类的派生功能体现。继承性是类之间的一种关系,在定义和实现一个类的时候,可以在一个已存在的类的基础之上加入若干新内容作为自己的内容。继承使得子类可以继承父类的行为(操作、方法等)和表现(实例变量)。通过继承可以在一个已知变化较少的类层次上建立一个新的类,而不用重新去设计它的每一部分。通过继承机制不断地扩充子类,实现增量型设计。 继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言(如面向过程的语言)所没有的。在Visual Basic 中,继承是通过类提

11、供接口来实现的。,(3)多态性(Overload and Polymorphism)。多态性是指同一操作作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果。多态意味着许多类可以提供同样的属性或者方法,而且调用者在调用这些属性或方法之前,不必知道某个对象属于什么类。“多态性”一词最早用于生物学,指同一种族的生物体具有相同的特性。大多数面向对象的语言,都是通过继承来提供多态的;而 Visual Basic则是用部件对象模型(COM)的多接口方法来实现。一个接口是一组相关的属性和方法。 多态性的实现受到继承性的支持,利用类的继承关系,把具有通用功能的消息存放在高层次,实现该功能的

12、不同行为放在较低层次,因而在低层次上生成的对象能够对通用消息给出不同的响应。 类和继承是是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点,在于对象的封装性和类的继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态联编和实体的多态性,从而构成了面向对象的基本特征。 5.1.2 Visual Basic中的类 在Visual Basic中,用类模块创建用户自己的类。类模块可以包含以下类型的元素: (1)属性:为类赋值或从类中检索值。 (2)方法:在类中定义的公用函数或子过程。 (3)

13、事件:象窗体中的控件可以引发事件一样,从类中创建的对象也可以引发其中的事件。 此外,类模块还包含两个自己的特殊事件Initialize和Terminate。当类的一个新实例被创建时,便触发Initialize事件。当对象被删除时,便触发Terminate事件。 对象定义在类模块中创建。由于包含变量的声明和过程代码,类模块相当于一个标准代码模块。类模块中没有用户界面组件。但是,类可以使用程序中的窗体来进行操作,就象一般代码模块一样。,5.1.3 Visual Basic中的面向对象程序设计 “对象”是Visual Basic程序设计的核心。在开发应用程序的过程中,所有用于应用程序的窗体、控件、数

14、据库等都是对象。Visual Basic采用了面向对象程序设计的技术,以“对象”为中心进行模块设计。面向对象的程序设计方法配合可视化工具,使传统的面向过程的程序设计方法相比,具有极大的优点,尤其是在创建用户界面方面。 采用面向对象程序设计方法,用户只需要直接拖曳一组控件到一个窗体中,然后再针对控件编写一小段代码,即可制作出一个美观的用户界面。通过大量“对象”的设计,可以构造出完整的应用系统,而且这些对象可以在应用程序中多次出现。 Visual Basic对象具有属性、方法和事件三大特征。属性是描述对象的数据。方法告诉对象应做的事情。事件是对象所产生的消息,事件发生时,通过编写代码进行处理(响应

15、)。例如,窗体上的按钮对象具有Caption 、Enabled和Visibled等属性,鼠标单击时将触发其Click事件。当事件发生时,可以通过编写代码执行所需的操作。 由于Visual Basic 6.0采用面向对象程序设计方法,因而具有以下特点: 1. 大量使用对象模块,减少了程序代码,便于应用程序的维护。 面向对象程序设计方法结合可视化编程工具,开发应用程序时只需要在集成开发环境中定义对象的属性,真正编写的程序代码只有少数的语句,其他工作都交给对象完成。由于Visual Basic中的对象都是被封装的,对象中同时包含了代码和数据,因此,在使用中只需要知道对象的功能,不必关心对象中如何实现

16、这个功能。,完成应用程序设计后,若需要修改应用程序,不必修改程序的整体,只修改某个对象。修改完成后,相当于所有调用该对象的程序都被修改。例如,若在应用程序中使用了一个自定义控件,并在多个窗体中调用了该控件。修改应用程序时,只要修改该控件的属性和代码,保存后再重新运行程序时,窗体对象调用的控件已经是修改后的控件。这些特点大大减轻了程序维护的工作量,可以节省大量的时间和人力。 2. 在开发应用程序过程中,不必过多地考虑程序结构,易于组织应用程序。 由于大量采用对象模块来完成程序设计工作,而且程序由事件驱动,应用程序每次运行所经过的路径都不相同,事先无法预测应用程序的流程。因此,采用面向对象程序设计方法时,不必费尽心思去考虑应用程序的结构和流程。完成应用程序的设计后,在其中增加或减少一些对象不会对整个应用程序的结构造成什么影响。例如,在一个窗体中增加或删除一个控件对象,对整个窗体的运行不会带来什么影响。因此,在程序设计中只需要站在对象的角度考虑问题,而不必担心应用程序的结构。 3. 在开发应用程序过程中,借助面向对象程序结构,可以使程序易于重复使用。 由于对象是完全封装的,在程序设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号