欢迎来到天天文库
浏览记录
ID:37598205
大小:685.81 KB
页数:62页
时间:2019-05-12
《面向对象的程序设计1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第13章面向对象的程序设计第13章面向对象的程序设计面向对象程序设计(OOP,Object-OrientedProgramming)是目前主流程序设计方法,它取代了传统的结构化程序设计技术,代表着程序设计的发展方向。13.1面向对象程序设计概述面向对象程序设计方法是由结构化程序设计方法发展而来的,它摆脱了结构化程序设计中需要对过程进行全面设计的方法(不但要告诉计算机“做什么”还要告诉计算机“怎么做”)。将所涉及的一切实体全部当作一个“对象”来看待,并且将这些对象分别归属到不同的“类”中。在程序杓剖通
2、过更改对象的属性、触发对象的事件和调用对象的方法,控制程序的执行进程。而且在VB中使用的大多数对象都是系统以“控件类”的形式定义好的,程序员在使用时只需将其从工具箱中添加到窗体上(创建控件类的实例)即可。对于一些特殊的问题,程序员还可以创建自定义类或ActiveX控件。13.1.1对象和类对象(Object)是代码和数据的集合,就像现实生活中的一个实体。如一只气球是一个对象,一台电脑也是一个对象。在VB环境下,常用的对象有各种控件、窗体、菜单、应用程序的部件以及数据库等。这些对象都具有属性(数据)和
3、行为方式(方法)。简单地说,属性用于描述对象的一组特征,方法为对象实施一些动作,对象的动作常常需要触发事件,而触发事件又可以修改属性。一个对象建立以后,其操作可通过与该对象有关的属性、事件和方法来描述。“属性”、“方法”和“事件”是对象的基本元素。在VB程序设计过程中,可以通过这三个基本元素来操纵和控制对象。面向对象程序设计主要是建立在类和对象的基础之上。通常的面向对象程序设计中的类都是由程序员自己开发的。而在VB中,类可以是系统设计好的,也可以由程序员根据需要自行设计。在VB中,工具箱上的可视类图
4、标是系统设计好的标准控件类,此外还可以在“工程”菜单中执行“部件”命令,加入大量的ActiveX控件。通过将这些类实例化,可以得到真正的控件对象。当程序员在窗体上“画”出一个控件时,就自动将其转化为对象了。除了通过控件类产生控件对象外,VB还提供了许多系统对象,如打印机(Printer)、剪贴板(Clipboard)、屏幕(Screen)、应用程序(App)等。窗体是一个特例,它既是类,也是一个对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。窗体是控件对象的容器,也是应用程序的
5、界面。13.1.2类的继承性继承性指的是一个新类可以从现有的类中派生出来,新类具有父类中所有的特性,直接继承了父类的方法和数据,新类的对象可以调用该类及父类的成员变量和成员函数。继承是从一种对象类型构造另一种对象类型的一个主要方法。利用继承性,可以在已经定义的对象类型基础上创建更复杂、更专业的对象类型,只要加进所需属性和方法,将新对象与上级对象区别开来即可。13.1.3类的封装性任何程序都包含两个部分:代码和数据。在结构化程序设计模式中,数据在内存中进行分配,并由子程序和函数代码处理;而在OOP模式
6、中是将处理数据的代码、数据的声明和存储封装在一起。一个对象中的数据和代码相对于程序的其余部分是不可见的,它能防止那些非期望的交互和非法的访问。封装就是将对象的属性和方法封装到具有适当定义接口的容器中。对象接口提供的方法和属性应使对象能够如期使用。封装是一种信息隐蔽技术,用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需用设计者提供的消息来访问该对象即可。13.1.4类的多态性所谓多态是指一个名字可具有多种语义,多态引
7、用表示可引用多个类的实例。多态可为一种对象类定义一种方法的多种实现方案,这些方法是通过类型和可接受的参数来区分的。多态性有时也指方法的重载。方法的重载是指同一个方法名在上下文中有不同的含义,是该类以统一的方式处理不同数据类型的一种手段。从对象接收消息后的处理方式看,多态性指的是同一个消息被不同的对象接收时解释为不同意义的能力。也就是说,同样的消息被不同的类对象接收时,产生完全不同的行为。利用多态性,用户能发送一般形式的消息,而将其所有实现的细节留给接收消息的对象去解决。13.2VB中预定义的类和对象
8、VB中有各种对象,包括窗体、控件、屏幕、打印机等。这些对象是由VB系统提供的,称为“预定义对象”。它们由系统建立,用户可以直接使用但不能修改。13.2.1通过控件类创建对象VB中绝大多数预定义类都以控件的形式存放在控件工具箱中,称为“控件类”。当把它们添加到窗体上后,实际上是完成了类的实例化操作,即创建了一个控件对象。例如,工具中的命令按钮控件CommandButton以一个图标的形式存放在工具箱中,此时它是一个控件类,代表着不同大小、不同外观样式、不同文字提示的一组
此文档下载收益归作者所有