《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章 面向对象程序设计

上传人:E**** 文档编号:89400660 上传时间:2019-05-24 格式:PPT 页数:57 大小:772.51KB
返回 下载 相关 举报
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章  面向对象程序设计_第1页
第1页 / 共57页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章  面向对象程序设计_第2页
第2页 / 共57页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章  面向对象程序设计_第3页
第3页 / 共57页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章  面向对象程序设计_第4页
第4页 / 共57页
《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章  面向对象程序设计_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章 面向对象程序设计》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导(第二版)》-张景安-电子教案 第3章 面向对象程序设计(57页珍藏版)》请在金锄头文库上搜索。

1、第3章 面向对象程序设计,导读 3.1 面向对象的可视化编程步骤 3.2 对象和类的概念 3.3 消息 3.4 异常处理 3.5 程序调试 小结 习题,导读,Delphi 8 for .NET是全新的可视化的编程环境,采用面向对象程序设计语言,为我们提供了一种方便、快捷的编程方法,大大提高了编程效率。 本章将主要介绍面向对象的可视化编程步骤,面向对象的基本概念、基本特征等,包括对象、类、方法、封装、继承、多态等,另外,还将介绍消息机制、异常处理以及程序调试的方法等。 学习目标: 掌握面向对象的可视化编程步骤 了解面向对象的基本概念及特征 了解消息机制 了解异常处理机制 掌握程序调试的方法,3.

2、1 面向对象的可视化编程步骤,面向对象的可视化编程一般包括以下步骤: 创建应用程序。 设计应用程序的界面,添加各窗体的组件对象。 设置主窗体组件对象的属性。 编写程序代码(主要是按钮的事件处理代码)。 保存文件。 编译、运行程序。,3.1 面向对象的可视化编程步骤,3.1.1 建立新工程 在Delphi 8集成环境下选择FileNewVCL Forms Application菜单项,或使用工具条上的New按钮,然后在New Items窗口的左窗格中选择Delphi for .NET Projects,在右窗格中选择VCL Forms Application,若此前未打开任何工程,确认后,For

3、m Designer窗口中会出现一个空白窗体Forml,在Code Edit窗口中还会出现与Forml对应的代码单元Unitl。若先前已打开了工程并且没有对修改过的工程进行保存,则系统会提示是否保存等信息,处理完毕后系统将关闭该工程,然后新建一个应用程序。,3.1 面向对象的可视化编程步骤,3.1.2 设计程序界面 InputForm窗体设计界面如图3-1所示,界面上包含5个标签(Label)用于显示输入提示信息;两个文本框(Edit),分别用于输入姓名、工龄;两个组合列表框(ComboBox)分别用于选择职称和部门;3个按钮(Button)分别用于清除、显示和退出程序。InputForm窗体

4、及其包含的组件属性见表3-1。,3.1 面向对象的可视化编程步骤,表3-1 InputForm窗体及其包含的组件的属性表,3.1 面向对象的可视化编程步骤,1设置主窗体的属性 单击Forml窗体,在Object Inspector中设置其属性。将Name属性设置为InputForm,Caption属性设置为“请输入教师基本信息”,未指定属性值的属性取系统默认值。 2添加主窗体的组件对象 从组件面板的Standard选项卡上,选择标签、文本框、组合列表框和按钮组件对象,按要求将它们添加到主窗体中。 3设置主窗体中的组件对象属性 在Object Inspector中分别设置各组件的属性。要说明的是

5、对下拉列表框组件的Items属性设置的方法,单击Items属性值上的按钮 ,将弹出编辑对话框,在其中逐行编辑下拉列表框的内容,编辑完毕后单击OK按钮即可。,3.1 面向对象的可视化编程步骤,3.1.3 编写程序代码 本例所要设计的是按钮组件对象的事件处理程序。双击窗体上的按钮,将打开代码编辑器,在begin和end之间输入如下各按钮的事件处理代码。 (*“清除”按钮事件处理代码*) procedure TInputForm.BtnClearClick(Sender:TObject) begin (*清空各文本框*) Edit1.Text:= ; Edit2.Text:= ; end;,3.1

6、面向对象的可视化编程步骤,(*“显示”按钮事件处理代码*) procedure TInputForm.BtnShowClick(Sender:TObject); begin MessageDlg(这是显示教师基本信息的窗体, mtInformation, mbOk, 0); end; (*“退出”按钮事件处理代码*) procedure TInputForm.BtnExitClick(Sender:TObject); begin TInputForm.Close; /关闭TInputForm窗体 end;,3.1 面向对象的可视化编程步骤,3.1.4 保存所有文件 选择FileSave All

7、菜单项,由于这个新建的工程还没有命名,所以首先会出现一个Save As对话框,默认的单元名是Unitl,用户可用更具描述意义的名字代替它。在这里,使用InputUnit.pas进行命名。保存完单元文件后,又会出现Save As对话框,要求为工程文件命名,在这里,把它命名为InputPrj.dpr。 注意:在进行程序设计前,应该先建立一个文件夹,用来存放工程文件,便于管理。,3.1 面向对象的可视化编程步骤,3.1.5 运行程序 运行程序的方法主要有如下几种: 打开Run菜单,选择Run子菜单项。 快捷键:F9。 单击工具栏上的 按钮。 其他的程序运行方式在本章的3.5节程序调试中将详细介绍。

8、程序运行后,如图3-2所示,在界面中填写或选择相关信息,单击“退出”按钮,将关闭“教师基本信息”窗口,结束程序的运行。,3.1 面向对象的可视化编程步骤,3.1.6 生成exe文件 打开工程文件,选择菜单项ProjectBuild ,生成可执行文件,文件名与工程文件名同名,扩展名为.exe。可以通过双击.exe文件图标启动应用程序。 例如:由工程文件InputPrj.dpr生成exe文件的过程是:选择菜单项ProjectBuild InputPrj,生成InputPrj.exe文件,双击InputPrj.exe文件图标,即可运行应用程序。,3.1 面向对象的可视化编程步骤,3.1.7 制作安装

9、包 在完成了应用程序的设计后,就要将最终的产品打包发送给用户。目前一般使用安装程序InstallShield来制作安装盘。 1创建新的项目 2制作安装程序的步骤 (1)组织安装项目 (2)指定项目文件。 (3)配置目标系统 (4)设置安装界面 (5)设置自动更新服务 (6)设定安装所需的前提条件 (7)制作安装程序的最后阶段,3.2 对象和类的概念,所谓对象(Object),就是在客观世界中每一个有明确意义和边界的事物。这些对象具有自己的属性,对象与对象之间还有一定的关系。在现实中常常把具有相似特征的事物归为一类,这就是面向对象中另一个重要的概念类(Class),也就是把具有相同属性的对象看成

10、一个类。在面向对象程序分析和设计的技术中,“类”就是对具有相同属性和相同操作的一组类似对象的定义,而对象是类的一个实例。,3.2 对象和类的概念,面向对象程序设计就是按照面向对象的方法去分析和解决问题。也就是说在解决问题前首先分析所要解决的问题中包含了哪些实体、每一个实体具有哪些属性、各个实体之间有何种关系等,然后把具有相同属性和相同操作的实体划分为一个类,明确每个类的属性和方法,最后设计程序解决问题。,3.2 对象和类的概念,3.2.1 对象 对象是一种数据结构,是类的实例。了解对象最关键的是掌握对象的特性。一个对象最突出的三个特征是封装性、继承性、多态性。定义了类之后,就可以创建该类的实例

11、,即对象,通过对象来访问类的成员。对象声明的语法格式如下: var ObjectName:Classname; 其中Classname是已定义过的类名。 例如:可以用以下语句声明Tstudent类(已定义过)的对象Classmate: var Classmate:Tstudent;,3.2 对象和类的概念,3.2.2 类 在Object Pascal语言中,类和记录比较相似,也是一个构造类型,并且由属性和方法构成。其中属性又包括类的内部属性和外部属性,也就是供内部使用的一些数据变量和供外部使用的一些数据变量;方法则是该类或其实例可以操作的过程和函数。通常把类的内部属性称为字段,把字段、属性和方

12、法统称为类的成员。 类的定义形式如下: type ClassName=Class(ParentClassname) MemberList End;,3.2 对象和类的概念,1成员属性 类的成员属性由保留字private、protected、public、published或automated来说明,通过这些保留字,可以控制对类中成员的访问权限。每个保留字的具体含义如下: private:私有成员,不能被类所在单元以外的程序访问。 protected:保护成员,可以被该类的所有派生类访问,并且成为派生类的私有成员。 public:公有成员,可以被该类以外的类访问。 published:发行类型成

13、员,它的访问权限基本与公有成员相同,区别在于成员的运行期类型信息不同。 automated:自动类型成员,它的访问权限基本与公有成员相同,惟一的区别在于在运行期将生成OLE自动化操作的类型信息,一般用在从TAutoObject类派生的类中。,3.2 对象和类的概念,2构造与析构 构造函数和析构函数是类定义中两个非常重要的函数。声明类的一个变量后,调用类的构造函数来进行一些初始化工作,再对类的实例对象进行操作、使用,使用完毕后调用类的析构函数,删除创建的对象,同时释放相应的内存资源等。 构造函数完成对象的创建和初始化工作,根据类的结构为类的对象分配内存空间,而且还可以打开文件或数据库,读取一些初

14、始数据,或者控制一些设备进行复位等。定义构造函数使用保留字Constructor,通常函数名使用Create。如果在定义类时没有定义构造函数,系统会自动为该类生成一个默认的构造函数。 析构函数的作用是将对象删除并释放相应的内存资源,此外还可以在这之前保存一些数据信息并关闭文件或数据库等,或者对一些设备进行复位。定义析构函数使用保留字Destructor,函数名为Destroy。如果在定义类时没有定义析构函数,则系统会自动为该类生成一个默认的析构函数。,3.2 对象和类的概念,3.2.3 方法 方法是属于一个给定对象的过程或函数,反映的是对象的行为而不是数据。 1方法的声明和定义 创建一个方法分

15、两步:首先是在对象类型的声明中声明这个方法,然后再写程序代码来定义方法。方法的声明格式如下: type TPerson=Class /人类 public name:String; /姓名 function GetAge:Integer; /获取年龄 procedure SetAge(a:Integer); /设置年龄 private age:Integer; /年龄 End;,3.2 对象和类的概念,2方法的类型 对象的方法可定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面的例子: TMyclass=class Procedure

16、 MyStatic; /静态方法 Procedure MyVitual;virtual; /虚拟方法 Procedure MyDynamic;dynamic; /动态方法 Procedure MyMessage(var M:TMessage);message wm_SomeMessage; /消息处理方法 End;,3.2 对象和类的概念,3方法的覆盖 在Object Pascal中利用覆盖一个方法来实现OOP的多态性概念。通过覆盖使一种方法在不同的派生类中表现出不同的行为。Object Pascal中能被覆盖的方法是在声明时被标识为virtual或dynamic的方法。为了覆盖一个方法,在派生类的声明中用override代替virtual或dynamic。例如:可用下面的代码覆盖yVirtual和MyDynamic方法。 TmyclassChild=Class(TMyclass) procedure MyVitual;override; procedure MyDy

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

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

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