- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章节面向对象程序设计”
第6章 面向对象程序设计 教学目的 ? 掌握面向对象的程序设计(Object-Oriented Programming,OOP)的基本概念 ? 了解Delphi的面向对象的程序设计方法 ? 掌握Delphi中类和对象的使用方法 本章介绍了面向对象的程序设计基本知识,主要包括类的定义、特性及其属性,对象的定义、特性、创建及撤销。针对Delphi面向对象的特点,重点介绍了OOP中的对象、方法、事件的概念。通过本章的学习,使大家对Delphi这种基于面向对象的开发环境有进一步的认识。 6.1 面向对象的基本概念 6.1.1 什么是类 (1) 类的定义 在Delphi语言中,用保留字Class 来声明类,语法格式为: type 类名称 = class (父类名) 类成员列表 end; 其中,类名称可以为任何合法的标识符,父类名是可选的,而类成员列表用来声明成员,它们是类的域(field)、方法(method)和属性(property)。如果省略了父类名,则新声明的类直接继承预定义类Tobject;如果具备父类名而成员列表为空,则可以省略end。方法是以函数或过程首部的形式出现在类的声明中,而方法的实现部分在程序的其他位置, (2)类的特性 ① 类的封装性 类的封装是指利用抽象数据类型将数据和基于数据的操作封装到一起,数据被保护在抽象数据类型内部,系统的其他部分只有通过包裹在数据外面的被授权的操作,才能与这个抽象数据进行交流和交互。类的所有成员都有一个标明“能见度”的属性,它们是由保留字private、protected、public、published 和automated来说明的。通过这些保留字,可以控制对类中成员的访问权限。每个保留字的具体含义如下: private:具有private属性的成员称为私有成员,不能被类所在单元以外的程序访问。也就是说,一个私有的属性不可以在所在模块之外的其它模块中读写,一个私有的方法也不可以在所在模块之外的其它模块中被调用。 6.1.2 什么是对象 (1)对象的概念 一个对象是一个数据类型。对象就象记录一样,是一种数据结构。按最简单的理解,我们可以将对象理解成一个记录。 对象的特征 : ① 对象的封装性 对对象最基本的理解是把数据和代码组合在同一个结构中,这就是对象的封装特性。 ② 对象的继承性 继承性是指把一个新的对象定义成为已存在对象的后代;新对象继承了父类的一切东西。 ③ 对象的多态性 多态性是在对象体系中把设想和实现分开的手段。如果说继承性是系统的布局手段,多态性就是其功能实现的方法。多态性意味着某种概括的动作可以由特定的方式来实现,这取决于执行该动作的对象。 6.2 OOP程序设计方法 6.2.1方法的类型 在面向对象的程序设计技术中,根据访问方式的不同,将类的方法分为4种:静态方法、动态方法、虚拟方法和消息方法,它们分别由方法名后的static,,virtual,message保留字指定,不加方法指示字声明的方法默认是静态的(static)。如下面的例子所示: type TMember=class Procedure SetStatic; //静态方法 Procedure SetDynamic; dynamic; //动态方法 Procedure SetVirtual; virtual; //虚拟方法 Procedure SetMessage(var M:TMessage);message WM_SomeMessage; //消息方法 end; 6.2.3 OOP程序实例 在Delphi中,常见的组件例如Lable、Button等都是类,对于一个初学者而言,如何能够使用好这些类以及相应的对象,这是我们学习的重点。 【例6.3】获取当前对象的导出类。 分析:本实例要说明一个Delphi组件的祖先类的层次关系。所以需先定义一个函数GetsForm,用于获得当前对象或组件的导出类,并在该函数中通过Sender参数的ClassType属性获得当前类的祖先类。 本章小结 本章主要介绍了面向对象的基本概念,基本特点,针对Delphi的面向对象程序设计的特点,重点介绍了OOP中的类、对象的定义、性质及相关概念,详细分析了Delphi的OOP程序设计方法。 类的定义: type 类名称 = class (父类名) 类成员列表 end; 类有封装性、继承性和多态性3
文档评论(0)