面向对象程序设计基础

上传人:hs****ma 文档编号:577858744 上传时间:2024-08-22 格式:PPT 页数:57 大小:1.10MB
返回 下载 相关 举报
面向对象程序设计基础_第1页
第1页 / 共57页
面向对象程序设计基础_第2页
第2页 / 共57页
面向对象程序设计基础_第3页
第3页 / 共57页
面向对象程序设计基础_第4页
第4页 / 共57页
面向对象程序设计基础_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《面向对象程序设计基础》由会员分享,可在线阅读,更多相关《面向对象程序设计基础(57页珍藏版)》请在金锄头文库上搜索。

1、数据库应用经管类第七章 面向对象程序设计基础Object-Oriented Programming (OOP)代码的可重用性n问题问题:q面向过程的程序设计面向过程的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。q结构化程序设计结构化程序设计认为:一个系统是由模块和模块间的调用构成。其中模块是具备独立功能的程序片断。q如何提供重用性,提高代码的质量。nOOP编程方法强调代码的可重用性。OOP的观点:系统是由对象和对象间的交互构成。q什么是对象?n后面可以看到,在VFP编写GUI(Graphical User Interface,图形化用户界面)程序时,对象基本由V

2、FP提供,我们只需编写交互。2信息管理学院数据库应用课程组7.1 面向对象的基本概念n面向对象的系统观面向对象的系统观认为,一个系统是由若干对象和对象间的交互构造而成。它反映了基于面向对象的方法如何构造系统。n面向对象程序设计面向对象程序设计(Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法论。它将对象对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。q参考中科永联高级技术培训中心Object Oriented Programmingq到Wiki(维基百科)了解面向对象的程序设计3信息管理学院

3、数据库应用课程组7.1.1 OOP的核心概念n对象q属性q行为q接口n消息n类4信息管理学院数据库应用课程组1. 对象(Object)n简单地说,对象就是现实或抽象世界中具有明确含义或边界的事物。例如一个学生、一辆汽车、一条狗、一把尺子。n面向对象系统观认为对象由对象属性和对象行为构成,即对象是属性和行为的封装体。n面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,或者说是负有责任的角色。接口接口属性属性行为行为消息消息5信息管理学院数据库应用课程组2. 属性(Attribute)和属性值n属性是为刻画对象的一个方面,其所

4、具有的数据称为属性值。q简单的来说,一个人就是一个对象,一个尺子也是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,例如:尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。q例如学生“江华”的籍贯为“江西赣州”。这里“江西赣州”为学生“江华”的籍贯属性取值。属性取值不同,可以使对象具有不同的状态。6信息管理学院数据库应用课程组3. 行为(Method)n行为是对象具有的一种处理能力。q如人可以吃饭、喝水、思考问题、参加劳动q如学生“江华”可以去“注册学籍”、“选修课程”,这些操作表示这个对象具有的行为。q如尺子可以度量长度nVF根据行为的触发方式不同,行为又分为事件和

5、方法。q事件:对用户操作的响应。n健盘输入、鼠标点击、焦点变化q方法:对象具有的其它行为特征n刷新窗口、窗口隐藏、状态失效7信息管理学院数据库应用课程组4. 接口(Interface)n简单地说,接口就是特殊的属性和行为,它表示一个对象对外对外提供的服务。n对外服务包括:对象向其他对象公开的属性和行为。q对于一个VFP对象来说,就是那些对外公开的属性和行为。n由于接口中的属性和行为为其它对象所知道,故其它对象通过发送消息到该对象来实现对象间的交互。8信息管理学院数据库应用课程组5. 消息(Message)n消息传递机制:一个对象通过接受消息、处理消息、传出消息或使用其他类的方法来实现一定功能,

6、这叫做消息传递机制(Message Passing)。n消息实现了对象间的交互。n一个对象通过接口向外界公布其提供的服务,其它对象通过发送消息来与这个对象进行交互,可能有结果返回到发送消息的对象,也可能没有结果返回发送消息的对象。n消息的描述除了和对象公布的属性和行为有关外,它还有特定的格式。q有关VF消息格式消息格式参请阅7.2节相关介绍。9信息管理学院数据库应用课程组6. 类(Class)n类(Class)定义了一类事物的抽象特点。通常来说,类定义了事物的属性和它可以做到的(它的行为)。q举例来说,“人”这个类会包含人的一切基础特征,例如姓名、体重、身高等属性特征和吃饭、睡觉等的行为能力。

7、类对行为和属性描述被称为类的“成员”。 q我们来看定义“人”类的伪代码:类类 人人开始开始 属性成员:属性成员:姓名姓名体重体重 身高身高 行为成员行为成员: 吃饭吃饭()睡觉睡觉()结束结束10信息管理学院数据库应用课程组6. 类(Class) cont.n在面向对象系统和程序中,具有相同结构和功能的对象一般用类类进行描述,并把对象称之为所属类的实例。简单地说,类描述的是具有相同属性和行为的一组对象(或对一组对象的相同属性和行为的描述)。n面向对象的处理问题方法提出将具有相同属性和行为对象抽象到类的方法。n类和对象的关系q类是对象的抽象,而一个具体对象是某个类的实例。可以将一个图章看成是一个

8、类,而图章所盖出的图章印是一个对象。由于一个图章可以盖出多个图章印,即一个类可以被实例化为多个对象。q如“人”这个类定义了世界上所有的人,而张三、李四、这些则是“人”类的实例11信息管理学院数据库应用课程组7.1.2 类或对象的特性n类和对象有许多特性重点是:n封装性封装性、自治性自治性、可标识性可标识性、状态性状态性。n还有OO书籍中常见的继承性、多态性、抽象性。12信息管理学院数据库应用课程组1. 对象的可标识性n每个对象都有自己的标识号(英语为Identifier,简写为ID)。q例如,如果图章具有自动改变序号功能,则每个实例化出来的图章印,虽具有相同的属性和操作,但它们具有不同的标识号

9、序号不同。q例如,每个人都有姓名q例如,每个学生都有学号13信息管理学院数据库应用课程组2. 对象的封装性n对象的封装性表现在对象将属性和行为封装在对象中。n对象封装的好处:是可以隐藏对象内部的实现细节,即所谓的信息隐蔽原则,也可以理解为黑箱。q信息隐蔽原则使得人们在使用一个对象时,只关心它提供的功能,不关心对象的功能是如何实现。q信息隐蔽原则可以避免由于某个对象的属性或行为的改变对其它对象的影响,通过独立的分治原则可以减低问题的复杂性。14信息管理学院数据库应用课程组3. 对象的状态性n对象的状态性是通过给对象的属性赋值来表现的。例如,学生“江华”对象。这里类为“学生”,类“学生”的姓名属性

10、值为“江华”。15信息管理学院数据库应用课程组4. 对象的自治性n由于对象是属性和行为的封装。对象状态的改变是由该对象本身实施的。即其它对象通过发送消息,请求对象改变其状态,对象的状态是否改变取决于对象当前的状态,在某些状态下可能无法改变对象的状态。16信息管理学院数据库应用课程组5. 类的继承性n面向对象的概念中,我们讨论了类与对象间的关系,类与类之间是否存在关系呢?在语义上,一个类与另一个类之间可能存在继承关系。n继承性的好处是可以减少代码冗余。实现一次编码,多处使用的特性,即在减少系统开发工作的同时,可以减少系统的维护工作量。这是面向对象编程方式带来的好处。17信息管理学院数据库应用课程

11、组例子n“汽车”类是一个抽象的类,它具有一般汽车具有的属性和行为,它被称为父类(基类)父类(基类)n“小汽车”类代表“汽车”类下面的一个分类,这里被称为子子类类,子类继承了父类所有的属性和行为。即“小汽车”类具有“汽车”类所具有的所有属性和行为。也可以扩展自己的属性和行为继承继承汽车自重载重颜色启动方式驱动方式小汽车载客数客车载客数卫生间货车自卸否18信息管理学院数据库应用课程组例子n类“学生”继承自类“人”人肤色身高体重吃饭睡觉老师单位职称上课学生学号类别年级上课警察继继 承承江华江华王丽王丽19信息管理学院数据库应用课程组6. 对象的多态性n将同样的消息发给同一个对象,根据对象当前所处状态

12、的不同,对象可能给出不同的响应,这称为对象的多态性。n多态性的好处是实现:同样的调用接口可以实现不同的功能。q例如:老师的“上课”和学生“上课”,功能不同20信息管理学院数据库应用课程组7.2 VF对面向对象方法的支持n根据面向对象的观点,构造一个系统的过程,是根据给出的实际问题,抽象出相关的名词术语,即先刻画该系统中的各个核心概念类。n在刻画完成各个类具有的属性和行为后,再将类实例化为类的对象,进一步描述这些对象间的交互,即这些对象间消息的关系,来描述和构造一个系统。21信息管理学院数据库应用课程组VF对象示例表单或窗口表单或窗口22信息管理学院数据库应用课程组Visual FoxPro内置

13、基类Visual FoxPro Visual FoxPro 中基类中基类控件类控件类Active DocActive Doc复选框复选框组合框组合框命令按钮命令按钮控件控件自定义自定义编辑框编辑框标头标头容器类容器类容器容器表单集表单集表单表单表格表格列列页框页框页面页面工具栏工具栏图例图例非可视非可视可视可视基类:基类:Visual FoxPro 内部内部定义的类,可用作其他用户定义的类,可用作其他用户自定义类的基础。例如,自定义类的基础。例如,Visual FoxPro 表单和所有表单和所有控件就是基类,您可以在此控件就是基类,您可以在此基础上创建新类,增添自己基础上创建新类,增添自己需要

14、的功能。需要的功能。 子类:子类:以其他类定义为起点,以其他类定义为起点,对某一对象所建立的新对某一对象所建立的新类类。新类将继承任何对父类所做新类将继承任何对父类所做的修改。的修改。23信息管理学院数据库应用课程组图例图例非可视非可视可视可视超级链接超级链接图像图像标签标签线条线条列表框列表框选项按钮组选项按钮组命令按钮组命令按钮组OLEOLE绑定型控件绑定型控件OLEOLE容器控件容器控件项目挂钩项目挂钩形状形状微调微调文本框文本框计时器计时器控件类控件类容器类容器类容器容器:包容其他相似类的:包容其他相似类的 Visual FoxPro 基类。例如,基类。例如,一个表单类中可以包含一组一

15、个表单类中可以包含一组控件类,将这些类作为一个控件类,将这些类作为一个整体进行操作。整体进行操作。 控件控件:放在一个表单上用以:放在一个表单上用以显示数据、执行操作或使表显示数据、执行操作或使表单更易阅读的一种图形对象,单更易阅读的一种图形对象,如文本框、矩形或命令按钮如文本框、矩形或命令按钮等。等。Visual FoxPro 控件包控件包括复选框、编辑框、标签、括复选框、编辑框、标签、线条、图象、形状等等。线条、图象、形状等等。24信息管理学院数据库应用课程组VFP基类名称基类名称基类名称图标图标基类名称基类名称图标图标基类名称基类名称图标图标ActiveDocForm表单表单Option

16、Group选项按钮组选项按钮组CheckBox复选框复选框FormSet表单集表单集Page页面页面Column表格列表格列 Grid表格表格PageFrame页框页框ComboBox组合框组合框Header表格头表格头 ProjectHookCommandButton命令按钮命令按钮Hyperlink超级链接超级链接Relation关系关系CommandGroup命令按钮组命令按钮组Image图像图像Separator分隔符分隔符25信息管理学院数据库应用课程组VFP基类名Container容器容器Label标签标签Shape形状形状Control控件控件Line线条线条Spinner微调控

17、件微调控件Cursor游标游标ListBox列表框列表框TextBox文本框文本框Custom自定义自定义OLEControlOLE容器控件容器控件或称为或称为ActiveX控控件件Timer计时器计时器DataEnvironment数据环境数据环境OLEBoundControlOLE绑定型控件绑定型控件或或ActiveX绑定控绑定控件件ToolBar工具栏工具栏EditBox编辑框编辑框OptionButton选项按钮选项按钮 26信息管理学院数据库应用课程组1. 可视对象与非可视对象nVFP应用程序包括可见的用户界面和不可见的数据加工处理。即可视的对象和非可视的对象。n可视对象可视对象(页

18、框、选项按钮组、文本框、复选框、组合框和命令按钮等)构成用户与计算机交互的界面,q计算机通过这些界面元素向用户提出问题,用户通过选择或回答界面中的元素选项来回答计算机的提问。即通过这些标准元素实现用户与计算机的对话。n非可视的对象非可视的对象主要用来完成用户数据的处理,即非可视对象主要用来完成数据的统计累加等有关按某种流程的操作。27信息管理学院数据库应用课程组2. 容器对象和控件对象n根据对象出现的位置不同,Visual FoxPro将对象分为容器类和控件类。n容器类对象可以包含其它容器类对象或控件对容器类对象可以包含其它容器类对象或控件对象象,作为它们的父对象。n例如,Visual Fox

19、Pro中表单是容器类,这里表单就是我们通常的窗口或窗体,表单中允许摆放各种容器和控件,如命令按钮,页框(当然页框也是容器)。28信息管理学院数据库应用课程组Visual FoxPro 中的对象分类n容器和控件的区别: q容器可以作为其他对象的父对象。例如,一个表单作为一个容器,是放在其中的复选框的父对象。q控件可以包含在容器中,但不能作为其他对象的父对象。例如复选框就不能包含其他任何的对象。29信息管理学院数据库应用课程组Visual FoxPro容器类包含的对象 常见容器对象常见容器对象能包含的对象能包含的对象容器容器任意控件任意控件表单集表单集表单、工具栏表单、工具栏表单表单页框、任意控件

20、、容器或自定义对象页框、任意控件、容器或自定义对象页框页框页面页面页面页面任意控件、容器和自定义对象任意控件、容器和自定义对象选项按钮组选项按钮组选项按钮选项按钮命令按钮组命令按钮组命令按钮命令按钮列列表头和除表单集、表单、工具栏、计时器和其他列表头和除表单集、表单、工具栏、计时器和其他列以外的其余任一对象。以外的其余任一对象。表格表格列列30信息管理学院数据库应用课程组3. 事件和方法(1)n事件和方法都是Visual FoxPro对象的行为。事件和方法的区别是调用方式不同。n事件的调用方式是隐式的。事件的调用或触发是由用户的操作来实现的。q例如:命令按钮上存在鼠标的单击事件,当用户使用鼠标

21、指向该命令按钮并单击鼠标左键时,将触发预先在单击事件中定义的行为。通常一个对象包括很多事件,例如图7.5所示的为命令按钮部分事件,图中含Event的均表示事件。n方法必须显式调用q如表单的release方法31信息管理学院数据库应用课程组3. 事件和方法(2)n编写事件代码时,需要注意两条规则:1.每个对象的事件触发是独立的,容器对象(如窗体、选项组等)不能处理它所包含的对象的事件。q例如,在窗体上放置一个命令按钮。当点击命令按钮时,不会执行窗体的Click事件,而仅执行命令按钮的Click事件。2.如果某个对象没有相应的事件处理代码,则系统会逐层向上检查其父类是否有与此事件相关的事件代码,若

22、有则执行,而该层以上的与此事件相关的代码不会被执行。3.如果该对象有事件代码,则系统只执行它的代码,而不会再向它的上层去寻找相应的事件代码,即不会再执行其父类的事件代码。4.如果在该对象的事件代码中使用Dodefault()函数,则系统会向上寻找执行其父类的事件代码。 32信息管理学院数据库应用课程组Visual FoxPro中的常用事件事件事件被激发后的动作LoadLoad加载对象。InitInit创建对象。ShowShow显示对象。DestroyDestroy从内存中释放对象。ClickClick用户使用主鼠标按钮单击对象。DblClickDblClick用户使用主鼠标按钮双击对象。Rig

23、htClickRightClick用户使用辅鼠标按钮单击对象。33信息管理学院数据库应用课程组Visual FoxPro中的常用事件GotFocusGotFocus对象接收焦点,由用户动作引起,如按 Tab 键或单击,或者在代码中使用 SetFocus 方法程序。LostFocusLostFocus对象失去焦点,由用户动作引起,如按 Tab 键或单击,或者在代码中使用 SetFocus 方法程序使焦点移到新的对象上。KeyPressKeyPress用户按下或释放键。MouseDownMouseDown当鼠标指针停在一个对象上时,用户按下鼠标按钮。MouseMoveMouseMove用户在对象上

24、移动鼠标。MouseUpMouseUp当鼠标指针停在一个对象上时,用户释放鼠标按钮。34信息管理学院数据库应用课程组4. 属性及其功能nVisual FoxPro对象有许多属性,属性值决定对象的状态或外观。n例如命令按钮有属性Enabled,其取值为.T. (True) 或.F. (False)。当命令按钮的Enabled属性为.T.时,命令按钮是有效的,当命令按钮的Enabled属性为.F.时,命令按钮是失效的(灰色状态)。 35信息管理学院数据库应用课程组常见属性属性属性含义NameName指定在代码中引用对象时所用的名称。CaptionCaption指定对象标题(即:对象上显示的文本)。

25、EnabledEnabled指定控件是否可用。.T.真(默认值):为可用;.F.假:不可用,呈暗淡色,禁止用户进行操作。VisibleVisible指定控件是否可见。.T.真(默认值):为可见;.F.假:不可见,但控件本身存在。36信息管理学院数据库应用课程组常见属性StyleStyle指定控件的样式。适用于适用于:复选框、组合框、命令按钮、文本框、选项按钮组。TabIndexTabIndex指定页面上控件的Tab键次序。TabStopTabStop指定用户是否可以使用Tab键把焦点移到对象上。ValueValue指定控件的当前状态。适用于适用于:复选框、列表框、组合框、命令按钮组、编辑框、表

26、格、文本框、选项按钮组、微调按钮。对于列表框、组合框、命令按钮组、编辑框、表格、文本框、微调按钮,Value属性值返回当前对象的状态:如用户选项或用户输入的字符或数值。37信息管理学院数据库应用课程组常见属性属性含义AutoSizeAutoSize控件是否根据正文自动调整大小。HeightHeight指定对象在屏幕上的高度。WidthtWidtht指定对象在屏幕上的宽度。TopTop对于控件,指定相对父对象最顶端所在位置;对于表单对象,确定表单顶端边缘与VFP主窗口之间的距离LeftLeft对于控件,指定相对父对象的左边界;对于表单对象,确定表单的左边界与VFP主窗口左边界之间的距离。Font

27、NameFontName指定对象显示文本的字体名。FontSizeFontSize指定对象文本的字体大小。38信息管理学院数据库应用课程组常见属性FontBoldFontBold、FontItalicFontItalic、FontStrikethruFontStrikethru、FontUnderlineFontUnderline指定文本是否具有下列效果:粗体、斜体、删除线或下划线。FontBold是否粗体;FontItalic是否斜体;FontStrikethru是否加一条删除线;FontUnderline是否带下划线。ForeColorForeColor设置控件的前景颜色(即正文颜色)。用

28、户可以在属性窗口中用调色板直接选择所需颜色,也可以在程序中用RGB()函数设置。BackColorBackColor设置背景颜色,选择方法同前景颜色。39信息管理学院数据库应用课程组常见属性BackStyleBackStyle设置背景风格。0透明:控件背景颜色显示不出来;1不透明(默认值):控件设置背景颜色。BorderStyleBorderStyle设置边框风格。0无:控件周围没有边框;1固定单线(默认值):控件带有单边框。AlignmentAlignment控件上正文水平对齐方式。0左:正文左对齐;1右:右对齐;2中间:正文居中;3自动(默认值)。WordWarpWordWarp当Auto

29、Size属性设为.T.时,WordWarp才有效。.T.真:表示按照文本和字体的大小在垂直方向上改变显示区域的大小,而在水平方向不发生变化;.F.假(默认值):表示在水平方向上按正文的长度放大和缩小;在垂直方向以字体大小来放大或缩小显示区域。40信息管理学院数据库应用课程组常见属性Picture指定在控件中显示的位图文件(.BMP)、图标文件(.ICO)或通用字段。适用于:复选框、命令按钮、选项按钮组、容器对象、图像、表单等。SpecialEffect指定控件不同样式选项。03维:立体效果;1平面:平面效果。对于页框控件SpecialEffect属性0凸起(除容器对象之外的所有对象的缺省值);

30、1凹下;2平面(仅是容器对象的缺省值)。InputMask指定控件中数据的输入格式和显示方式。适用于适用于:微调、文本框、组合框。Stretch在一个控件内部,指定如何调整一幅图像以适应控件的大小。0剪裁,剪裁图像以适应控件;1等比填充,调整图像大小以适合控件,同时保持图像的原始比例;2变比填充,调整图像大小以适合控件,但是不保持图像的原始比例。41信息管理学院数据库应用课程组5. VFP属性的赋值两种方法n一种是在程序设计时设置属性,即选中需设定属性的对象,再通过属性对话框直接修改属性值加以设置。如图7.7中所示的命令按钮Caption属性为“Command1”,你可以直接输入为“确定”。n

31、另一种方法是程序运行时给对象属性赋值给对象属性赋值实现的。42信息管理学院数据库应用课程组设计时刻设置属性n在属性对话框中直接输入即可。43信息管理学院数据库应用课程组如何给对象的属性赋值对象标题(即Caption取值)标识符即Name取值(对象实例名ID)出现的位置表单容器Form1顶层页框Pageframe1表单容器中页面1Page1页框中命令按钮在页面1Command1页面1中命令按钮在表单Command1表单容器中44信息管理学院数据库应用课程组对象的属性赋值n每个对象具有唯一的标识符ID。在VFP中,对象的标识符是通过对象属性Name标识的。要引用VFP中的对象就必须知道对象的Nam

32、e,但由于VFP中对象分为容器对象和非容器对象。为引用某个特定对象的属性,我们就必须理解VFP对象引用的表示方法。nVFP规定从顶层容器对象开始加以引用,以点号分隔。n表单名.命令按钮名.属性名 = 属性值nThisFmand1.Enabled = .F. q“命令按钮在表单”失效。 n表单名.页框名.页面名.命令按钮名.属性名 = 属性值nThisForm.Pageframe1.Page1.Command1.Enabled = .F. q使得“命令按钮在页面1”失效。45信息管理学院数据库应用课程组VFP对象属性赋值的通用格式 nobjectvariable.form.control.pro

33、perty = Setting n这里objectvariable是对象变量名,通常它与表单文件(扩展名为SCX)的文件名同名。qform表示表单名。qcontrol表示控件,如果控件是个容器,则可以包含其它控件。qproperty表示属性名。qSetting表示要赋值的属性值,它可以是一个表达式。n总之,若想给一个对象的某一属性赋值,需要确定该对象和包含它的容器层次间的关系,再使用由点号 (.) 分隔的容器、控件和属性来处理该对象的属性赋值。 46信息管理学院数据库应用课程组Visual FoxPro对象引用关键字 属性或关键字属性或关键字引用引用THIS表示该对象自身THISFORM表示包

34、含该对象的表单THISFORMSET表示包含该对象的表单集Parent表示包含该对象的父对象ActiveControl表示当前活动表单中具有焦点的控件ActiveForm表示当前活动表单ActivePage表示当前活动表单中的活动页47信息管理学院数据库应用课程组6. 对象的方法引用 nobjectvariable.form.control.method n这里objectvariable是对象变量名,通常它与表单文件(扩展名为SCX)的文件名同名。qform表示表单名。qcontrol表示控件,如果控件是个容器,则可以包含其它控件。qmethod表示方法名。48信息管理学院数据库应用课程组7

35、.3 OOP编程语言核心问题nVFP提供的类库q有哪些基类、一般属性、一般事件n类什么时候实例化对象。(在进行表单或窗口设计时,将类实例为对象,之后编写对象间的交互)nVF对象的分类:q可视对象与非可视对象q容器对象与非容器对象n对象属性的引用方法n对象方法的引用方法49信息管理学院数据库应用课程组控件焦点与Tab序n焦点是接收用户鼠标或键盘输入的能力。当控件具有焦点时,才能接收用户的输入。 n比如,在有几个文本框的表单窗口中,只有得到焦点的那个文本框才接收由键盘输入的文本。n当对象得到焦点时,它将产生GotFocus事件;当对象失去焦点时,它将产生LostFocus事件。 50信息管理学院数

36、据库应用课程组控件焦点与Tab序n在表单设计器中将控件放到表单上后,Visual FoxPro自动给每个控件(但绘图控件如直线、椭圆等除外)都赋予一个TabIndex值。该值决定了缺省情况下程序运行后用户按Tab键时输入焦点的跳转次序。51信息管理学院数据库应用课程组VFP中关于类的操作 n问题:关于类有什么操作。1. 类的实例化nVFP中标准的内置类实例化对象的过程=为程序设计GUI界面q当你打开一个表单设计器时,表单类就被实例化为一个表单对象。q当从表单控件窗口将一个控件摆放到表单上时,就是将一个控件类实例化为一个控件对象。 52信息管理学院数据库应用课程组VFP中关于类的操作2. 创建创

37、建自己的类(自修)3. 继承继承VFP中定义的类,以增加新方法或属性。q例子参见教科书7.3.2部分。(自修)53信息管理学院数据库应用课程组第7章 小结n面向对象编程的核心概念q什么是类q什么是对象(属性+行为)q对象和类之间的关系,对象和对象之间的关系(消息)nVF中内建的标准类q了解基类q区分VF中的标准类:容器类和控件类q了解VF标准类的一般属性和一般事件n如何操作VF标准类q什么叫类的实例化-对象q对象属性或办法的引用格式对象属性或办法的引用格式q给对象属性赋值q了解控件集点(Tab)概念54信息管理学院数据库应用课程组最后陈述n面向对象编程的概念:面向对象的程序设计(Object-

38、Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。n常见的支持OOP的语言C+/C#,JAVA,Python,VF55信息管理学院数据库应用课程组最后陈述n对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。 n关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。56信息管理学院数据库应用课程组最后陈述n类则对一组对象共同属性和行为特征的描述。n思考q“学生”类对所有学生如何进行描述?q“汽车”类是如何对所有车辆进行描述?Next section: 第8章 表单设计57信息管理学院数据库应用课程组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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