文档介绍:面向对象编程方法
介绍有关面向对象的概念,以及应用类和对象设计程序的方法。
本讲主要内容
对象及其属性概念
类与对象的关系
对象方法编程思路
创建类和类库
对象(Object)
对象是客观世界事物的抽象实体,它包含了描述自身特性的数据(属性)和自身具有的行为(方法)。
如:
VFP中常见对象:
表单、报表、表格、文本框等,它们都具有自己的属性、事件和方法,都是程序可以使用和操纵的对象
属性: 品牌、尺寸、外观形状、颜色、最大速度、排气量等
汽车
方法: 加速、减速、停车、倒车、转弯等
对象:
窗口、命令按钮、标签、文本框、
命令按钮组、直线
属性(Property)
属性就是对象表现出来的特征、状态或行为的具体描述。
不同的对象可以拥有各种相同或不同的属性,其中有些属性是只读并且无法改变的,有些则可以通过设定或编程来改变。
窗口位置和大小的属性:Left、Top、Height、Width
表单窗口颜色的属性:BackColor、ForeColor
当前活动对象的属性ActiveControl等(只读属性)
既可以在设计表单时设定窗口背景色,也可以在程序运行中通过执行事件程序或方法程序改变背景颜色。
只读属性
可读可改写属性
属性的意义
属性定义了对象所具有的数据,是对象所有特征数据的集合。
属性将数据封装起来,属性值一般可以在设计阶段设置,也可以在运行阶段由程序、对象的方法来更改。
编程时,属性可以根据需要无限地扩充,它相当于该对象的局部变量,用以随时保存对象的相关数据。
如:表单对象具有许多基本属性,选择表单(M)/新建属性(P)…命令,可以添加若干属性。
方法(Method)
方法是用来处理或操纵对象的办法,是实现具体操作的代码,它定义了该对象所具有的功能。
对象通常都要提供一些方法,以便应用程序使用该对象所提供的服务
VCD机的方法: 播放、停止、暂停、快进等
表单对象就具有显示(Show)、隐藏(Hide)、移动(Move)、刷新(Refresh)、释放(Release)等方法。编程中通过调用这些方法来控制表单进行相关的操作。
对象的封装性
通过对象对外提供的方法,就可以得到它提供的服务,根本不需要知道对象内部的实际运作方式,这就是对象的封装性。
编程中要用到某些对象时,只需要知道该对象具有那些方法,如何调用这些方法就可以了,而不必知道这些方法的实现细节,无需从头开始设计和编写所有的功能代码。
类中对象cmdPrev的Click事件代码被封装起来了
对象中已看不到Click事件代码
事件(Enent)
事件是预先设定好的动作,由操作者或系统激活,它不能随意扩充。
事件可以看作是由操作人员或系统的动作引发的预定操作
相关对象的状态发生改变达到一定的程度,满足了触发条件,该事件才会发生。
VFP ,多数事件并未编写执行代码,设计出来的控件尽管运行中会产生相应事件,但并不做任何操作。为了响应事件,可以给事件加入相应的程序代码,这些代码可以调用某些对象的方法,可以设置对象的属性,还可以调用其他程序。
事件的默认代码为空
类(Class)和子类(Subclass)
类包含了有关对象的特征和行为信息,是构造对象的蓝图和框架,类决定了对象的特征
类可以派生出子类,子类继承了父类的属性和方法,并可以附加自己特有的属性和方法。
所谓超类、父类、子类无非是用来说明类的派生层次关系的术语
类与对象
类和对象是相互关联的,类是对象的抽象、对象是类的具体实例
对象是实际存在的实体,可以被创建(Create)、命名(Naming),具有属性(Proerties)、方法(Method)、事件(Event)等。
类是某些对象的所有数据结构及其相关操作所形成的集合。
类包含了有关对象的特征和行为信息,是构造对象的模板,是抽象的概念。对象通过类创建出来,是具体存在的实体,它继承了类的属性、事件和方法,还可以扩充自己的属性、方法。