新Visual Basic程序设计 教学课件 邱寄帆 第10章.pptVIP

  • 1
  • 0
  • 约3.74千字
  • 约 31页
  • 2016-10-26 发布于广东
  • 举报

新Visual Basic程序设计 教学课件 邱寄帆 第10章.ppt

第 10 章 面向对象程序设计 10.1 面向对象程序设计的概念 10.2 类 的 核 心 要 素 10.3 创建用户自定义类 10.4 在类中添加属性和方法 10.5 在类中添加事件 10.1 面向对象程序设计的概念 10.1.1 基本概念 1.对象 在面向对象系统中,对象(Object)是运行时的基本实体,是含有数据以及对其操作方法的模块。这里所讲的对象,是一种数据和程序的组合体。对象既包括数据(属性),也包括作用于数据的操作(行为)。 2.消息 对象有其自身的对外接口,对象所能接受的是消息(Message)。消息是对象之间进行通信的一种机制,是要求对象以某种方式进行操作的请求。当一个消息发送给某个对象时,其中包含要求该对象执行某些操作的信息。接受消息的对象经过解释后予以响应,发送信息的对象不需要知道接收消息的对象如何响应请求。这种通信机制称为消息传递。某个对象能对之作出反应的消息集合称为该对象的协议。 3.类 每一个对象可以抽象为一个对象类(Class)。一个类定义了一组大体上相似的对象,类将该组对象所具有的共同特点集中起来,说明该组对象的能力和性质。类是在对象基础上的抽象,有了类之后,对象是类的具体化,是类的实例。类可以有子类,也可以有父类,形成层次结构。 4.封装性 封装(Encapsulation)也称为信息隐藏,是指对象隐藏了其如何工作的细节,使用户不能对对象的内部数据进行访问,从而使得程序更加模块化,既方便使用者,更方便设计者对程序的维护和改进。 5.继承性 继承性(Inheritance)是父类和子类之间共享数据和方法的机制。继承性是类之间的一种关系,在定义和实现一个类的时候,可以在一个已存在的类的基础之上加入若干新内容作为自己的内容。如果一个类只从一个父类得到继承,称为“单重继承”;如果一个类有两个或多个父类,则称为“多重继承”。 6.多态性 对象根据所接受消息作出响应,不同对象收到同一消息可产生完全不同的结果,这种现象称为多态性(Overload and Polymorphism)。用户可以利用多态性发送一个通用的消息,而将所有的实现细节都留给接受消息的对象。 10.1.2 面向对象程序设计特点 1.大量使用对象模块,减少了程序代码,便于应用程序的维护。 2.在开发应用程序过程中,不必过多地考虑程序结构,易于组织应用程序。 3.在开发应用程序过程中,借助面向对象程序结构,可以使程序易于重复使用。 4.借用可视化编程工具辅助设计,应用程序的设计变得更加方便。 10.2 类 的 核 心 要 素 类模块可以包含以下类型的元素。 (1)属性 (2)方法 (3)事件 此外,类模块还包含两个自己的特殊事件Initialize和Terminate。 10.3 创建用户自定义类 10.3.1 类的作用 用户定义类型是一个使相关数据项成组的强大工具。 定义一个对象来封装数据和确保数据的可靠性。 10.3.2 定义类模块 在Visual Basic中通过“类模块”来创建类。 10.4 在类中添加属性和方法 10.4.1 向类中添加属性 定义类属性的最简单的方法,是向类的模块添加公共变量。 1.数据隐藏 数据隐藏是指保护对象的部分数据,而其余数据则以属性形式公开。这是面向对象的封装原则的一个方面。 数据隐藏可以改变类而不影响已存在的编码。 数据隐藏也允许定义只读属性。 2.属性过程 如果只能通过声明公共变量来创建属性,那么就不能在更高层次上实现数据隐藏。 实际上,当设置或检索属性值时,Visual Basic就执行对应属性过程的代码。 10.4.2 属性过程与公共变量的比较 属性过程具有封装功能,它是如此强大的工具,以至于有时会觉得公共变量有点多余。对于编程来说答案是“有时是”。以下是一些基本原则。 (1)以下情况应使用属性过程。 ? 属性为只读,或一旦设置就不能改变。 ? 属性已设置的值需要验证。 ? 超出特定范围的值。 ? 属性的设置可导致一些对象状态的明显变化,如Visible属性。 ? 属性设置可改变内部变量或其他属性的值。 (2)以下情况应使用只读属性的公共变量。 ? 属性是自验证类型。 ? 在数据类型所支持范围内的值都是有效的,如许多Single或Double类型的属性。 ? 属性是String数据类型,并没有大小或字符串取值的限制。 10.4.3 运行属性过程 Visual Basic提供了表10-1所列的3种属性过程。 属性过程可有多个参数,甚至可选参数。当使用多个参数时,属性过程对的参数必须匹配。表10-2给出了在属性过程声明中参数的要求。

文档评论(0)

1亿VIP精品文档

相关文档