- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Delphi教程;第14章 面向对象程序设计;通信是实现各个不同对象之间消息传递的方法。所谓消息实际上是一个类的对象要求另一个类的对象执行操作的指令。
14.1对象的基本概念;对象的继承性
对象的继承性是指把一个新的对象定义成为已存在对象的后代。新对象继承了旧类的一切东西。
对象的多态性
多态性是在对象体系中把设想和实现分开的手段。多态的含义是指某一个标识符表示多种类型的变量,或者标识不同意义的函数或过程。
14.1.2 从一个对象中继承数据和方法
在窗体上单击鼠标或用Object Inspector的上端的Object Selector选中Form1对象,按
<F1>键查阅他的在线帮助,会在Properties和Metehod中找到它的继承到的全部属性和方法。;当在工程中加入一个新窗体时,就等于加入了一个基本模型。通过不断地在窗体中加入部件,就自行定义了一个新的窗体。要自定义任何对象,都将从已经存在的对象中继承域和方法,建立一个该种对象的子类。
14.1.3 对象的范围
一个对象的范围决定了它的数据域、属性值、方法的活动范围和访问范围。在一个对象的声明部分声明的数据域、属性值、方法都只是在这个对象的范围中,而且只有这个对象和它的后代才能又拥有它们。虽然这些方法的实际程序代码可能是在这个对象之外的程序库单元中,但这些方法仍然在这个对象的范围内,因为它们是在这个对象的声明部分中的声明的。;当在一个对象的事件处理过程中编写程序代码来访问这个对象的属性值、方法或域时,不需要在这些标识符之前加上这个对象变量 的名称。
14.1.4 对象共有域和私有域的声明
可以在对象的Public或Private部分加入新的数据域和方法。Public和Private是Object Pascal的保留字。
在Pbulic部分中声明其他库单元中对象的方法也可以访问的数据域或方法。在Private部分的声明有访问的限制。如果在Private中声明域和方法,那么它在声明这个对象的库单元外是不透明的,而且不能被访问。 Private中可以声明只能被本可单元方法访问的数据域和本库单元对象访问的方法。;14.1.5访问对象的域和方法;类型,就可以将一个对象变量赋给另一个对象变量。
14.1.7建立非可视化对象;2.用Create方法建立对象实例
TWorker只是一个对象类型除非通过一个构造函数的调用从而被实例取代或创建,否则一个对象并不存储在内存中。构造函数是一个方法,它为新对象配置内存并且指向这个新的对象。这个新的对象也被称为这个对象类型的一个实例。;3.撤销对象;14.2 类类型和对象;类名可以是任何合法的标识符,在Delphi中,类类型的标识符一般以T打头。
Class是保留字,表示声明类型是类类型。 (3)Class后面的父类名表示当前声明的类是从父类名制定的类中派生出来的,声明的类称
为父类的子类或直接后代,该子类将继承父类及所有祖先的所有成员。
“父类名”是可以省略的。
类类型声明中可以没有成员列表,如果需要,类类型可以有3类成员,分别是Field(字段)、 Method(方法)、property(特性)。
在类的声明中如果含有字段成员,那么字段成员的声明必需优先于特性和方法成员的声明。;(7)跟其他数据类型不同的是,类类型的声明只能出现在Program单元或UNIT单元最外层作 用域的类型定义部分,而不能定义在变量声明部分或一个过程或函数内。因此,类类型的作用域总是全局的。;函数方法声明的一般格式为:;构造的声明同过程方法或函数方法类似,只是保留字不同。其声明格式为:;2.析构
析构的声明格式为:;一个类中的方法可以通过在声明中使用指令字指定成静态、动态、虚拟和消息方法。
方法按指令字分可分为三种,分别是虚拟、动态、消息方法,它们分别是方法名后用 Virtual,Dynamic,Message保留字指定。
也可以不加方法指令字,这种情况下声明的
方法是静态的(static)。一个方法也可以像函数那样,指定参数的传递的方式,也即方法 的调用约定。
1.静态方法
静态方法类似于通常的过程和函数,编译器在编译时就已指定了输出该方法的对象实例。静态方法的主要优点是调用的速度快。;当从一个类派生一个类时,静态方法不会改变。如果你定义一个包含静态方法的类,然后派生一个新类,则被派生的类在同一地址共享基类的静态方法,也就是你不能重载静态方法。如果你在派生类定义一个与祖先类相同名的静态方法,派生类的静态方法只是替换祖先类的静态方法。
2.虚拟方法
虚拟方法比静态方法更灵活、更复杂。虚拟方法的地址不是在编译时确定的,而是程序在运行期根据调刚这个虚拟方法的对象实例来决定的,这种方法又为滞后联编。虚拟方法在对象虚拟方法表(VMT表)中占有一个索引号。;VMT表保存类类型
您可能关注的文档
- 部编版语文五年级上册白鹭 第1课时 视频配套-优课件.ppt
- 部编版语文一年级上册《语文园地六:和大人一起读》-优课件.ppt
- 【一建市政 专家课件】2_桥梁构造与识图.pptx
- 生物学表观遗传学.pptx
- 生物学节约资源和保护环境的基本国策.pptx
- 理学相对论基础.pptx
- 小学四年级品德与社会下册《诚实不需要理由》课件.pptx
- 家具计算机辅助设计课件.pptx
- 34+懂点心理学,与孩子有效沟通(家长会)-+2022-2023学年高中主题班会优质课件.pptx
- 五年级上册语文第一单元知识点5篇 知识点大全.docx
- 第六单元名著导读《钢铁是怎样炼成的》导学导练课件-2023-2024学年统编版语文八年级下册.pptx
- 第十二单元核心素养测评课件-2023-2024学年九年级化学人教版下册.pptx
- 电流与电压和电阻的关系说课(1) --2023-2024学年人教版 九年级物理上学期.pptx
- 第4单元 世界音乐之窗——拉丁美洲音乐 《玛丽安》 课件 2023—2024学年粤教版初中音乐八年级下册 -.pptx
- 第12课 智能预测出行方式 课件 -2023-—2024学年浙教版(2023)初中信息技术九年级全册 .pptx
- 鲁教版初中信息科技《计数循环我在行 》课件.pptx
- 复习-Python初中信息技术.pptx
- 山西省大同市2023-2024学年八年级下学期期中语文试题(含解析).pdf
- 2024届四川省成都市实验外国语学校高三下学期三模物理试题(含答案).pdf
- 2024年广东省广州市第六中学中考一模语文试题(解析版).pdf
文档评论(0)